簡體   English   中英

如何在python中刪除數組的最后一列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM