numpy.reshape(a, newshape, order='C)¶
In [2]:
import numpy as np
reshape: 원하는 shape으로 바꿔줌¶
In [6]:
a = np.arange(10)
b = np.reshape(a, (2, 5))
c = a.reshape((2, 5))
print('a:\n', a)
print('b:\n', b)
print('c:\n', c)
하나를 지정하지 않고 -1을 쓰면 자동으로 shape이 됨¶
계산이 귀찮거나 row나 column 강조하고싶을 때 사용해도 좋음¶
In [11]:
a = np.arange(10)
b = a.reshape((2, -1)) # row가 강조되는 느낌
c = a.reshape((5, -1))
print(b.shape)
print(c.shape)
numpy.resize(a, new_shape)¶
원소의 개수를 바꿔줄 때 유용¶
아래의 코드는 reshape과 결과가 같음¶
In [12]:
a = np.arange(10)
b = np.resize(a, (2, 5))
print('a:\n', a)
print('b:\n', b)
but reshape은 원소의 개수가 다르면 오류가 나지만 resize는 자동으로 맞춰줌¶
In [14]:
a = np.arange(5)
b = np.reshape(a, (10,))
print('b:\n', b)
In [16]:
a = np.arange(5)
b = np.resize(a, (10,))
print('b:\n', b)
# 앞에서부터 반복해서 만듦
size가 늘어나도 오류가 안나므로 조심해야 함¶
resize는 in-place (return값이 없고 바로 바뀜)¶
In [18]:
a = np.arange(4)
b = a.resize((2, 2))
print('a: \n', a)
print('b:\n', b)
그래서 아래와 같이 사용하는게 좋음¶
In [21]:
a = np.arange(5)
a.resize((2,2))
print(a)
reshape은 오류남¶
In [24]:
a = np.arange(5)
a.reshape((2,2))
print(a)
'Python > Numpy' 카테고리의 다른 글
np.reshape, np.resize 차이점2, flatten, ravel, copy, view (0) | 2021.03.30 |
---|---|
ndim, shape, size (0) | 2021.03.29 |
linspace와 arange 차이점, random.randn, random.normal, random.uniform, random.randint (0) | 2021.03.29 |