본문 바로가기

파이썬 (Python)

차원 바꾸기

1. np.newaxis

아래 코드는 1D였던 X를 np.newaxis 를 활용하여 2D로 바꾼 예시이다.

import numpy as np
from sklearn.preprocessing import PolynomialFeatures
fg=PolynomialFeatures(degree=3, include_bias=True) #절편항이 나온다

X=np.array([1,2,3,4,5])
x1=fg.fit_transform(X[:,np.newaxis])
print(x1)

np.newaxis 결과

 

만일 np.newaxis 가 열이 아니라 행쪽에 있다면 아래와 같은 결과가 나온다.

x1, x2, x3, x4, x5가 각각 i, j, k l, p 의 제곱승을 가질 때, i+j+k+l+p = 1, i+j+k+l+p=2, i+j+k+l+p=3 이 되도록 값을 곱해준 결과가 하나의 행으로 나온다. 많이 쓰이지는 않는다.

x2 = fg.fit_transform(X[np.newaxis, :])
print(x2)

 

2. .reshape

원래 데이터 X가 1D라고 한다면,

X.reshape(-1, 1)

을 했을 때 column 하나가 추가되어 2D tensor 로 바뀐다.

 

예를 들어, 

X = [1, 2, 3, 4, 5] #(5,)
X2 = X.reshape(-1, 1)
print(X2)

 

의 결과는 [[1, 2, 3, 4, 5]] 로 나온다.

'파이썬 (Python)' 카테고리의 다른 글

dataframe 합치기 메모  (0) 2022.11.25
Numpy vs. Pandas  (0) 2022.11.03
함수 정의 def, lambda  (0) 2022.09.15
조건문, 반복문 모음  (0) 2022.09.15
파이썬 기초  (0) 2022.09.06