for col in df.columns:
if not df[col].astype(str).str.contains('-->').any() and not col in ['ETL_ID','CLAIM_ID']:
df.drop(col, inplace=True, axis=1)
我只是想保持列(所有行的)在数据框架中,甚至单个替换'——>'存在。如果子字符串不存在(在任何行),我需要删除这些列,除了少数列,如ETL_ID…编写上述代码的任何其他优化方法或我只需要数据框架中包含子字符串'——>'
的记录使用any
如何?
mask = df.eq('-->').any()
df = df[mask[mask == False].index.tolist() + ['ETL_ID','CLAIM_ID']]
我不喜欢mask[mask == False].index.tolist()
,但不能想出在过滤中做any()
。