У меня есть список элементов. Я хочу удалить три из этих элементов одновременно.
Я попытался сделать что-то вроде понимания списка. log_r.columns
— это массив имен столбцов из 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
Любая помощь приветствуется!
Используйте 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'])