首页 > 解决方案 > 从元素列表中删除元素列表

问题描述

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

我试着做一个列表理解类型的事情。log_r.columns是来自 a 的列名的数组pd.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

任何帮助表示赞赏!

标签: pythonpandasnumpylist-comprehension

解决方案


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'])

推荐阅读