如何删除包含单元格值等于 pandas 中的 header 的记录

How to drop records containing cell values equals to the header in pandas

我已阅读此数据框(称为 df):

如您所见,有一条记录包含与 header(ltvage)相同的值。

如何在 pandas 中删除该记录?

数据:

df = pd.DataFrame({'ltv':[34.56, 50, 'ltv', 12.3], 'age':[45,56,'age',45]})

一种方法是将其过滤掉(假设字符串与它们所在的列名称相匹配):

out = df[df['ltv']!='ltv']

另一个可能是使用 to_numeric + dropna:

out = df.apply(pd.to_numeric, errors='coerce').dropna()

输出:

     ltv age
0  34.56  45
1     50  56
3   12.3  45

检查

out = df[~df.eq(df.columns).any(1)]
Out[203]: 
     ltv age
0  34.56  45
1     50  56
3   12.3  45