python - 如何在python中删除数组的最后一列
问题描述
我的数组大小未知,我想删除最后一列
a = np.array([["A1","A2","A3"],["B1","B2","B3"],["C1","C2","C3"]])
我试过了
a[-1:]
但它删除了除最后一行之外的所有行
我也试过
a[:-1]
它删除了最后一行。
如何删除最后一列?
解决方案
我建议您阅读有关基本切片和索引numpy
数组的文档。
试试这个:
arr = a[:, :-1] #--> first two columns of array
注1:切片操作
的结果数组arr
只是原始数组中的一个视图a
,不会创建副本。如果您更改 中的任何实体arr
,此更改也将在数组中传播,a
反之亦然。
例如,
更改 的值arr[0, 0]
也会更改 的相应值a[0, 0]
。
注意 2:如果要创建一个新数组,同时删除最后一列,以便一个数组中的更改不应该传播到另一个数组中,您可以使用numpy.delete
which返回一个新数组,其中删除了沿轴的子数组。
arr = np.delete(a, -1, axis=1) # --> returns new array
输出>>> arr
:
[['A1' 'A2']
['B1' 'B2']
['C1' 'C2']]