从元素列表中删除元素列表

时间:2019-05-28 12:42:37

标签: python pandas numpy list-comprehension

我有一个元素列表。我想同时删除其中三个元素。

我尝试对事物进行列表理解。 log_r.columnspd.DataFrame()中列名称的数组。看起来像这样:

array(['MBI10', 'SAX', 'PX', 'CAC40', 'CRBEX', 'SOFIX', 'DAX', 'SBITOP', 'BELEX15', 'UAX', 'SASX10', 'AEX', 'BET', 'BUX'], dtype=object)

我要删除'AEX''DAX''CAC40'

emerging_names = log_r.columns.values[log_r.columns.values != ['AEX','DAX','CAC40']]


FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

Index.isin~的反转掩码一起使用:

emerging_names = log_r.columns.values[~log_r.columns.isin(['AEX','DAX','CAC40'])]

或结合过滤使用列表理解:

emerging_names = [x for x in log_r.columns if x not in ['AEX','DAX','CAC40']]

或者如果排序列名称没有问题,请使用Index.difference

emerging_names = log_r.columns.difference(['AEX','DAX','CAC40'])