반응형
- 1차원, 2차원 만들기
- 1차원 -> 2차원으로 변형
- 2차원 -> 1차원으로 변형
1차원 만들기
np.arange(10)
# 결과
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
2차원 만들기
np.zeros((3,2))
# 결과
array([[0., 0.],
[0., 0.],
[0., 0.]])
데이터 형태를 살펴보면 float 형태로 만들어졌음을 확인할 수 있다
np.zeros((3,2)).dtype
# 결과
dtype('float64')
만약 유형을 고정하고 싶다면 다음 옵션을 준다
array2 = np.zeros((3,2), dtype='int')
print(array2)
print('---')
print(array2.dtype)
# 결과
[[0 0]
[0 0]
[0 0]]
---
int64
차원과 크기 변경하기
1차원 -> 2차원으로 변형
array1 = np.arange(10)
print(array1)
print('---')
print(array1.reshape(2,5))
# 결과
[0 1 2 3 4 5 6 7 8 9]
---
[[0 1 2 3 4]
[5 6 7 8 9]]
차원을 크기에 맞지 않게 수정하면 에러를 낸다
0~9 까지 값이 10개인 것을 3,3 차원으로 바꾸면 다음과 같은 에러가 발생한다.
array1.reshape(3,3)
# 결과
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-17-3f231a1aa789> in <module>
----> 1 array1.reshape(3,3)
ValueError: cannot reshape array of size 10 into shape (3,3)
설정에 -1을 넣으면 자동으로 변환한다
array1.reshape(-1, 5)
# reshape(2, 5)와 같은 형태로 변형
# 결과
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
array1.reshape(-1, 2)
# 결과
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
1차원으로 변형
n차원의 수를 1차원으로 변형한다
array1_test = array1.reshape(-1, 2)
array1_test
# 결과
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
# 1차원으로 변경
array1_test.reshape(-1,)
# 결과
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
끝.
반응형
'공부 > 데이터' 카테고리의 다른 글
[aws] 로드밸런서, IP고정, 세션별 접근(sticky session) (5) | 2019.11.23 |
---|---|
[pandas] 첫번째 행을 columns 으로 지정 (4) | 2019.11.22 |
[python] 공공데이터 API호출 및 pandas 로 변환하기 (4) | 2019.11.03 |
[NLP] 형태소 분석기 mecab 설치하기(mac) (0) | 2019.10.19 |
[pandas] loc 와 iloc 차이 (0) | 2019.10.09 |
댓글