[英]how to remove last column of an array in 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
返回一個新數組,其中子數組沿刪除的軸.
arr = np.delete(a, -1, axis=1) # --> returns new array
>>> arr
輸出:
[['A1' 'A2']
['B1' 'B2']
['C1' 'C2']]
嘗試這個:
import numpy as np
a = np.array([["A1","A2","A3"],["B1","B2","B3"],["C1","C2","C3"]])
print(a)
b = np.delete(a, np.s_[-1:], axis=1)
print(b)
輸出:
[['A1' 'A2' 'A3']
['B1' 'B2' 'B3']
['C1' 'C2' 'C3']]
[['A1' 'A2']
['B1' 'B2']
['C1' 'C2']]
如果您想刪除最后一列
b = a[:,:2]
'''array([['A1', 'A2'],
['B1', 'B2'],
['C1', 'C2']], dtype='<U2')'''
如果你想刪除最后一行
c = a[:2]
'''array([['A1', 'A2', 'A3'],
['B1', 'B2', 'B3']], dtype='<U2'''
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.