我有一个np。我想删除特定的元素从基于元素“名称”,而不是索引。使用np.delete()可以实现这种功能吗? 也就是原始的ndarray (“守则”).unique textcodes =数据() 它捕获特定的文本代码。 具体来说,我想删除某些代码,我需要通过一个单独的过程,并把他们放在一个单独的ndarray sep_list = np.array ([‘SPCFC_CODE_1’,‘SPCFC_CODE_2’,‘SPCFC_CODE_3’,‘SPCFC_CODE_4]) 我很难找到一个解决方案在删除这些特定的代码从textcodes sep_list,因为我知道这些sep_list代码不会被索引,因为它每个季度会有所不同,我想自动化它基于特定的名称,而不是因为那些永远是相同的。 任何帮助都非常感谢。谢谢你! 问题来源StackOverflow 地址:/questions/59379307/remove-specific-elements-from-a-numpy-array
你应该能够做这样的事情:
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]
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。