从numpy数组中删除特定元素

时间:2019-12-17 17:29:41

标签: python numpy

我有一个np.array我想从元素“名称”而不是索引中删除特定元素。 np.delete()可以实现这种功能吗?

即我原来的ndarray是

textcodes= data['CODES'].unique()

捕获给定季度的唯一文本代码。

具体地说,我想删除某些代码,这些代码需要通过单独的过程运行,并将它们放入单独的ndarray中。

sep_list = np.array(['SPCFC_CODE_1','SPCFC_CODE_2','SPCFC_CODE_3','SPCFC_CODE_4])

我很难找到从sep_list删除textcodes中这些特定代码的解决方案,因为我不知道这些sep_list代码将在何处被索引,因为每个代码都不同季度,我想根据特定的名称进行自动化,因为这些名称将始终相同。

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

您应该能够执行以下操作:

Application.launch(TestApp_sub.class, args);

收益:

import numpy as np

    data = [3,2,1,0,10,5]
    bad_list = [1, 2]
    data = np.asarray(data)
    new_list = np.asarray([x for x in data if x not in bad_list])

    print("BAD")
    print(data)
    print("GOOD")
    print(new_list)

由于您没有提供示例数据,因此无法确定,但是使用变量的以下实现应该可以工作:

BAD
[ 3  2  1  0 10  5]
GOOD
[ 3  0 10  5]