[Numpy] 넘파이 기초

내가 쓰려고 작성하는 넘파이 함수 기초

배열 생성

- np.array( [list])
- np.zeros()
- np.ones()
- np.eye(): 단위 행렬 생성
- np.tri(): 삼각 행렬 생성
- np.empty(): 초기화 되지 않은 배열 생성

- np.zeros_like()
- np.ones_like()
- np.full_like()
- np.empty_like()

- np.arange()
- np.linspace()
- np.logspace()
랜덤 값으로 배열 생성
- np.random.random(): 랜덤한 수의 배열 생성
- np.random.randint() : 일정 구간의 랜덤 정수 배열 생성
- np.random.normal(): 정규분포를 고려한 랜덤한 수의 배열 생성
날짜/시간 배열 생성
- np.array('2023-01-01', dtype=np.datetime64)
- mp.datetime64('2023-06-01 12:00')

배열 조작

배열 조회
- array.ndim: 차원 조회
- array.shape: 형상 조회
- array.dtype: 데이터 타입 조회
- array.size
- array.itemsize
- array.nbytes
- array.strides
배열 값 변경
배열 값 수정: 인덱싱으로 접근하여 값 수정
- np.insert(array, 위치, 값, axis=): 특정한 위치에 값 삽입 / axis를 지정하지 않으면 1차원 배열로 변환
- np.delete(array, 위치, axis=): 특정한 위치에 값 삽입 / axis를 지정하지 않으면 1차원 배열로 변환

배열 복사
리스트 자료형과 달리 배열의 슬라이스는 복사본이 아님
슬라이싱, 인덱싱을 바꾸면 원본 배열도 바뀜
- array.copy(): 배열이나 하위 배열 내의 값을 명시적으로 복사

배열 추가
- array.append(): 배열의 끝에 값 추가 / axis를 지정하지 않으면 1차원 배열로 변환

배열 정렬
- array.sort()

배열 재구조화

- array.reshape(): 배열의 형상을 지정
- array.newaxis(): 새로운 축 추가
- array.resize(): inplace 적용
- array.resize((shape), refcheck=False): 원소 수가 맞지 않더라도 자동으로 채워줌
배열 연결
- np.concatenate( [array1, array2], axis= ): 튜플이나 배열의 리스트를 인수로 사용해 배열 연결
- np.vstack(): 수직 스택, 1차원으로 연결
- np.hstack(): 수평 스택, 2차원으로 연결
- np.dstack(): 깊이 스택, 3차원으로 연결
- np.stack(): 새로운 차원으로 연결
배열 분할
- np.split(배열, 위치 인덱스)
- np.vsplit(): 1차원으로 분할
- np.hsplit(): 2차원으로 분할
- np.dsplit(): 3차원으로 분할

몇가지 함수

- np.abs() : 절대값 함수
- np.square() : 제곱
- np.sqrt(): 제곱근
- np.exp()
- np.log()
- np.sum()
- np.cumsum() : 축 지정
- np.prod()
- np.cumprod(): 축 지정
- np.dot()
- np.matmul()
- np.argmin() : 최소값 인덱스
- np.argmax() : 최대값 인덱스
- np.any() : True가 하나라도 있으면 True
- np.all() : 전부 True여야 True

배열 입출력

- np.save('파일명', array)
- np.savez('파일명', array1, array2...)
- np.savetxt('파일명.csv', array, delimiter=",")
반응형

'Python' 카테고리의 다른 글

[Python] Scipy.sparse 희소 행렬(sparse matrix) 다루기  (0) 2022.11.25
[Python] Raw String / 문자열 앞 r  (0) 2022.11.18