본문 바로가기
파이썬

파이썬에서 행렬에 열 추가

by º기록 2020. 11. 17.
반응형

파이썬에서 행렬에 열을 추가하는 방법이 있습니까? 파이썬에서 mxn 행렬의 시작 부분에 열을 추가하고 싶습니다. 예를 들어, 1000x100 이 있습니다. 행렬을 1000x101 행렬로 만들고 싶습니다. 처음에 모든 ones 가있는 새 열을 삽입하고 싶습니다. 즉, 새로운 첫 번째 열이됩니다. 파이썬에서 가능합니까?

다음은 내 코드입니다. vector1 은 목록이고 cnt 는 1000입니다.

data=np.array(vector1)  
shape = ( cnt, 100 )
data=data.reshape(shape)

이제 여기에 모든 항목으로 시작하는 새 열을 추가하고 싶습니다.

 

해결 방법

 

numpy.hstack numpy.ones 에서 찾고있는 함수 :

예를 들면

import numpy as np

X = np.random.uniform(size=(10,3))
n,m = X.shape # for generality
X0 = np.ones((n,1))
Xnew = np.hstack((X,X0))

print(X)
[[ 0.78614426  0.24150772  0.94330932]
 [ 0.60088812  0.20427371  0.19453546]
 [ 0.31853252  0.31669057  0.82782995]
 [ 0.71749368  0.54609844  0.74924888]
 [ 0.86883981  0.54634575  0.83232409]
 [ 0.89313181  0.8006561   0.05072146]
 [ 0.79492088  0.07750024  0.45762175]
 [ 0.92350837  0.20587178  0.76987197]
 [ 0.0092076   0.0044617   0.04673518]
 [ 0.69569363  0.3315923   0.15093861]]

print(X0)
[[ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 1.]
 [ 1.]]

print(Xnew)
[[ 0.78614426  0.24150772  0.94330932  1.        ]
 [ 0.60088812  0.20427371  0.19453546  1.        ]
 [ 0.31853252  0.31669057  0.82782995  1.        ]
 [ 0.71749368  0.54609844  0.74924888  1.        ]
 [ 0.86883981  0.54634575  0.83232409  1.        ]
 [ 0.89313181  0.8006561   0.05072146  1.        ]
 [ 0.79492088  0.07750024  0.45762175  1.        ]
 [ 0.92350837  0.20587178  0.76987197  1.        ]
 [ 0.0092076   0.0044617   0.04673518  1.        ]
 [ 0.69569363  0.3315923   0.15093861  1.        ]]

 

참조 페이지 https://stackoverflow.com/questions/32827269

 

 

반응형

댓글