python增加一列_如何向NumPy数组添加额外的列

np.r_[ ... ]并且np.c_[ ... ] 是有用的替代vstack和hstack,用方括号[]代替圆()。

几个例子:

: import numpy as np

: N = 3

: A = np.eye(N)

: np.c_[ A, np.ones(N) ]              # add a column

array([[ 1.,  0.,  0.,  1.],

[ 0.,  1.,  0.,  1.],

[ 0.,  0.,  1.,  1.]])

: np.c_[ np.ones(N), A, np.ones(N) ]  # or two

array([[ 1.,  1.,  0.,  0.,  1.],

[ 1.,  0.,  1.,  0.,  1.],

[ 1.,  0.,  0.,  1.,  1.]])

: np.r_[ A, [A[1]] ]              # add a row

array([[ 1.,  0.,  0.],

[ 0.,  1.,  0.],

[ 0.,  0.,  1.],

[ 0.,  1.,  0.]])

: # not np.r_[ A, A[1] ]

: np.r_[ A[0], 1, 2, 3, A[1] ]    # mix vecs and scalars

array([ 1.,  0.,  0.,  1.,  2.,  3.,  0.,  1.,  0.])

: np.r_[ A[0], [1, 2, 3], A[1] ]  # lists

array([ 1.,  0.,  0.,  1.,  2.,  3.,  0.,  1.,  0.])

: np.r_[ A[0], (1, 2, 3), A[1] ]  # tuples

array([ 1.,  0.,  0.,  1.,  2.,  3.,  0.,  1.,  0.])

: np.r_[ A[0], 1:4, A[1] ]        # same, 1:4 == arange(1,4) == 1,2,3

array([ 1.,  0.,  0.,  1.,  2.,  3.,  0.,  1.,  0.])

(方括号[]而不是round()的原因是Python扩展为例如1:4的正方形 - 超载的奇迹。)

你可能感兴趣的:(python增加一列)