有一个numpy.concatenate
method
import numpy as np
np.concatenate( [ np.array( [ [1,2], [2,3] ] ), np.array( [ [3],[4] ] ) ] , axis = 1)
或者简单地使用hstack
or vstack
np.hstack( [ np.array( [ [1,2], [2,3] ] ), np.array( [ [3],[4] ] ) ] )
这些也可用于删除列(连接两个子数组) - 这可用于删除许多列。
要删除第 i 列,您可以将子数组放入此列,并从下一列取出子数组,然后将它们连接起来。例如,要删除第二列(索引1
):
a - np.array( [ [1,2,3], [2,3,4] ] )
a1= a[:,:1]
a2= a[:,2:]
np.hstack([a1,a2])
所以一般来说
def remove_column( a, i ):
return np.hstack( [a[:,:i], a[:,(i+1):] ] )
and then
>>> remove_column(a, 1)
array([[1, 3],
[2, 4]])
>>> remove_column(a, 0)
array([[2, 3],
[3, 4]])
实际上,正如评论中指出的 - numpy 实现了自己的delete
method
np.delete(a, 1, 1)
删除第二列
并删除多个可以使用
np.delete(a, [column1, columne2, ..., columnK], 1)
第三个参数是轴说明符,0
意味着行,1
列,None
展平整个数组