簡體   English   中英

從numpy數組中刪除元素

[英]Delete an element from numpy array

我正在使用numpy array ,如下所示:

  input_series =  ['BUY' 'SELL' 'BUY' 'SELL' 'BUY' 'SELL' 'SELL' 'SELL' 'BUY' 'SELL' nan nan
     nan nan nan nan nan nan nan]

我正在搜索數組中的特定值,如果元素存在,則刪除

我這樣做如下:

delete_indices = list()
val = ['BUY','SELL','No','YES']
found_index = np.where(lowercase_series_nparray == val)                                                
delete_indices.append(found_index)

delete_indices得到如下結果:

[(array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([0, 2, 4, 8], dtype=int64),), (array([1, 3, 5, 6, 7, 9], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),), (array([], dtype=int64),)]

我嘗試使用刪除的Aftre:

new_output_series = numpy.delete(input_series, delete_indices)

但是在setting an array element with a sequence.出現錯誤setting an array element with a sequence.

如果來自這樣的數組:

input_series = np.array(['BUY', 'a', 'b', 'SELL', 'YES', 'SELL', 'No', 'c', 'd', 'SELL'])

您要刪除這些元素:

['BUY','SELL','No','YES']

只需將它們設置為數組即可:

val = np.array(['BUY','SELL','No','YES'])

接着:

new_output_series = np.setdiff1d(input_series,val)

輸出:

 ['a' 'b' 'c' 'd']

以下語句為您提供所需的索引:

 found_index = np.in1d(input_series, val).nonzero()[0]

接着:

 new_array = numpy.delete(input_series, found_index)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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