首页 > 解决方案 > 删除所有包含一些字符串但除了一些具有相同字符串的列

问题描述

我有几个包含字符串“luds”的列我想删除所有这些列,除了包含相同字符串的 2 列

例如,如果我的 DataFrame 中有以下列:

    luds_mean  
    luds_std  
    luds_var  
    luds_corr  
    luds_out  
    made_mean 
    made_std 
    made_var 
                        

我想保留 luds_mean 和 luds_std 列并删除所有包含字符串 luds 的列并留下以下列:

    luds_mean
    luds_std
    made_mean
    made_std
    made_var
       

标签: pythonpandas

解决方案


您可以使用isin()+loc访问器:

df=df.loc[:,~df.columns.isin(['luds_var','luds_corr','luds_out'])]

或者

如果有更多名为 luds_... 的列,则使用:

s=df.columns.isin(['luds_mean','luds_std']) | ~df.columns.str.contains('luds_')
df=df.loc[:,s]

推荐阅读