如何删除包含单元格值等于 pandas 中的 header 的记录
How to drop records containing cell values equals to the header in pandas
我已阅读此数据框(称为 df
):
如您所见,有一条记录包含与 header(ltv
和 age
)相同的值。
如何在 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
我已阅读此数据框(称为 df
):
如您所见,有一条记录包含与 header(ltv
和 age
)相同的值。
如何在 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