import numpy as np
# 1차원 배열 생성
arr1 = np.array([1,2,3,4,5])
print("1차원 배열 : ",arr1) # 1차원 배열 : [1 2 3 4 5]
# 2차원 배열 생성
arr2 = np.array([[1,2,3], [4,5,6]])
print("2차원 배열 : ",arr2) # 2차원 배열 : [[1 2 3]
# [4 5 6]]
# 배열의 형태 변경
arr_reshaped = arr2.reshape(3,2)
print("변경된 배열 : ",arr_reshaped) ''' 변경된 배열 : [[1 2]
[3 4]
[5 6]]'''import numpy as np
# 배열 덧셈
arr1 = np.array([1,2,3])
arr2 = np.array([4,5,6])
print("배열의 덧셈 : ", arr1 + arr2) # [5 7 9]
# 배열 곱셈
print("배열의 곱셈 : ", arr1 * arr2) # [4 10 18]
#통계 함수 사용
arr = np.array([1,2,3,4,5])
print("평균 : ", np.mean(arr)) # 평균 : 3.0
print("표준 편차:", np.std(arr)) # 표준 편차 : 1.4142135623730951
import numpy as np
# 브로드캐스팅
arr = np.array([[1, 2, 3], [4, 5, 6]])
print("브로드캐스팅 덧셈:\n", arr + 1) '''[[2 3 4]
[5 6 7]]'''
# 선형 대수: 행렬 곱셈
a = np.array([[1, 2],
[3, 4]])
b = np.array([[5, 6],
[7, 8]])
print("행렬 곱셈 : ", np.dot(a, b)) '''[[19 22]
[43 50]]'''import numpy as np
arr = np.array([1,2,3,4,5]) # 1차원 배열 생성
ans = arr[0:3] # 슬라이싱 결과 : [1 2 3]import numpy as np
arr = np.array([[1,2],
[3,4]]) # 2차원 배열 생성
np.sum(arr) # 모든 요소의 합계 : 10import numpy as np
arr = np.array([[5,0,1,6],
[2,7,3,8]]) # 2차원 배열 생성
target = arr > 5
print(target) '''[[False False False True]
[False True False True]]'''
# arr > 5는 Boolean 값으로 이루어진
# arr와 모양이 같은 배열
print(arr[target]) # [6 7 8]
# Numpy에서는 Boolean 배열을 사용하여
# 배열의 인덱스를 지정할 수 있음import numpy as np
arr1 = np.array([1,3,2]) # 1차원 배열 생성
arr1.sort() # 오름차순으로 정렬
print (arr1) # [1 2 3]import numpy as np
# 배열과 비슷한 리스트의 경우로 고민해본다.
# my_list = [1,2,2,3,3,3]
# my_list.count()
# count와 비슷한 기능을 하는 함수가 있는가?
arr1 = np.array([1,2,2,3,3,3,3]) # 1차원 배열 생성
my_set = set(arr1) #set 함수를 이용해서 유니크(고유) 값들을 찾습니다.
# print(my_set)
for i in my_set:
print(f"{i}는 {np.count_nonzero(arr1 == i)}번 출현합니다.")
#np.count_nonzero()는 NumPy 배열에서
#0이 아닌 요소의 개수를 세는 함수
import numpy as np
arr1 = np.array([1,2,3])
arr2 = np.array([4,5,6])
# 수평으로 연결
# res_arr_1 = np.concatenate([arr1,arr2])
# print(res_arr_1) #[1 2 3 4 5 6]
# 수직으로 연결
# res_arr_2 = np.concatenate([[arr1],[arr2]])
# print(res_arr_2)
'''[[1 2 3]
[4 5 6]]'''
'''
np.concatenate() 함수에서 axis 매개변수는
연결할 축을 지정합니다.
1차원 배열의 경우에는 축이 하나뿐이므로
axis 매개변수에 0 또는 1을 지정할 필요가 없습니다.
'''
#2차원 이상의 배열의 경우
arr3 = np.array([[1,2,3],
[4,5,6]])
arr4 = np.array([[7,8,9],
[0,1,2]])
# 수평으로 연결
result_horizontal = np.concatenate((arr3, arr4), axis=1)
print(result_horizontal)
# 수직으로 연결
result_vertical = np.concatenate((arr3, arr4), axis=0)
print(result_vertical)
'''
넘파이의 concatenate 함수는
배열을 연결하는 데 사용됩니다.
이 함수는 주어진 축을 따라 배열을 연결하고,
연결된 결과를 반환합니다.
axis 매개변수를 사용하여 연결할 축을 지정할 수 있습니다.
예를 들어, axis=0은 배열을 수직으로 연결하고,
axis=1은 배열을 수평으로 연결합니다.
이 함수는 동일한 차원의 배열에 대해서만 작동합니다.
'''