仅在 PANDAS 中的某些列上使用 to_numeric

Use to_numeric on certain columns only in PANDAS

我有一个包含 15 列的数据框。其中 5 列使用数字,但有些条目要么是空白,要么是单词。我想将它们转换为零。

我可以将其中一列中的条目转换为零,但是当我尝试对多列执行此操作时,我无法执行此操作。我为一列试过这个:

pd.to_numeric(Tracker_sample['Product1'],errors='coerce').fillna(0)

它有效,但是当我对多列尝试这样做时:

pd.to_numeric(Tracker_sample[['product1','product2','product3','product4','Total']],errors='coerce').fillna(0)

我收到错误:arg 必须是列表、元组、一维数组或系列

我认为这是我调用要修复的列的方式。我是 pandas 的新手,如有任何帮助,我们将不胜感激。谢谢

您可以使用:

Tracker_sample[['product1','product2','product3','product4','Total']].apply(pd.to_numeric, errors='coerce').fillna(0)

用 for 循环?

for col in ['product1','product2','product3','product4','Total']:
    Tracker_sample[col] = pd.to_numeric(Tracker_sample[col],errors='coerce').fillna(0)