开发者社区> 问答> 正文

从numpy数组中删除特定的元素

我有一个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

展开
收起
kun坤 2019-12-30 09:33:06 1131 0
1 条回答
写回答
取消 提交回答
  • 你应该能够做这样的事情:

    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]
    
    2019-12-30 09:33:13
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载