Python 从numpy数组中删除特定元素
我有一个np.array,我想根据元素“name”而不是索引从中删除特定元素。使用np.delete()可以实现这种情况吗 也就是说,我原来的计划是Python 从numpy数组中删除特定元素,python,numpy,Python,Numpy,我有一个np.array,我想根据元素“name”而不是索引从中删除特定元素。使用np.delete()可以实现这种情况吗 也就是说,我原来的计划是 textcodes=data['code'].unique() 它捕获给定季度的唯一文本代码 具体来说,我想删除某些代码,这些代码需要通过一个单独的进程运行,并将它们放入一个单独的数据数组中 sep\u list=np.array(['SPCFC\u code\u 1'、'SPCFC\u code\u 2'、'SPCFC\u code\u 3'、'
textcodes=data['code'].unique()
它捕获给定季度的唯一文本代码
具体来说,我想删除某些代码,这些代码需要通过一个单独的进程运行,并将它们放入一个单独的数据数组中
sep\u list=np.array(['SPCFC\u code\u 1'、'SPCFC\u code\u 2'、'SPCFC\u code\u 3'、'SPCFC\u code\u 4])
我很难找到从textcodes
中删除sep_列表
中的这些特定代码的解决方案,因为我不知道这些sep_列表
代码的确切索引位置,因为每个季度都会有所不同,我希望根据特定的名称自动执行,因为这些代码始终是唯一的一样
非常感谢您的帮助。谢谢。您应该能够执行以下操作:
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]
由于您没有提供示例数据,因此无法确定,但是使用您的变量的以下实现应该可以工作:
import numpy as np
textcodes= data['CODES'].unique()
sep_list = np.array(['SPCFC_CODE_1','SPCFC_CODE_2','SPCFC_CODE_3','SPCFC_CODE_4'])
final_list = [x for x in textcodes if x not in sep_list]
没问题,@mattie_g。祝你好运。如果这个答案对你有帮助,请确保接受它,这样其他有类似问题的人也可以参考它。这有助于使堆栈溢出成为编程Q&a:)的有效资源(更不用说,当您接受答案时,您会获得更多的信誉点!)