배열 생성
- 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 |