删除熊猫数据框中的列

rak*_*esh 4 python-3.x pandas

col_exclusions = ['numerator','Numerator' 'Denominator', "denominator"]

数据框

id prim_numerator sec_Numerator tern_Numerator tern_Denominator final_denominator Result

1       12                23           45          54                      56         Fail
Run Code Online (Sandbox Code Playgroud)

最终输出是 id 和 Result

Dat*_*ice 5

使用正则表达式

import re

pat = re.compile('|'.join(col_exclusions),flags=re.IGNORECASE)

final_cols = [c for c in df.columns if not re.search(pat,c)]

#out:

['id', 'Result']
Run Code Online (Sandbox Code Playgroud)
print(df[final_cols])

   id Result
0   1   Fail
Run Code Online (Sandbox Code Playgroud)

如果你想放弃

df = df.drop([c for c in df.columns if re.search(pat,c)],axis=1)
Run Code Online (Sandbox Code Playgroud)

或感谢@Anky_91 的纯熊猫方法

df.loc[:,~df.columns.str.contains('|'.join(col_exclusions),case=False)]
Run Code Online (Sandbox Code Playgroud)