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

时间:2018-05-21 20:26:50

标签: python pandas type-conversion fillna

我有一个包含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必须是列表,元组,1-d数组或系列

我认为这是我调用要修复的列的方式。我是熊猫新手,所以任何帮助都会受到赞赏。谢谢

2 个答案:

答案 0 :(得分:2)

您可以使用:

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

答案 1 :(得分:1)

使用for循环?

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