熊猫read_csv并将na_values设置为csv文件中的任何字符串

时间:2018-09-07 21:26:07

标签: python pandas dataframe data-cleaning

  

data.csv

     

1、22、3432

     

1、23,\ N

     

2,24,54335

     

2,25,3928

我有一个从设备收集的数据的csv文件。该设备时不时不中继信息并输出“ \ N”。我想将它们视为NaN并通过

read_csv(data.csv, na_values=['\\N']) 

效果很好。但是,我宁愿不仅将此字符串转换为NaN,而且还要将csv文件中的任何字符串转换为万一,以防将来获取的数据具有不同的字符串。

我是否可以对参数进行任何更改,使其涵盖所有字符串?

1 个答案:

答案 0 :(得分:4)

您必须手动将所有关键字作为列表或字典传递给na_values

  

na_values:类似列表或字典,默认为无

或者,使用pd.to_numeric并将错误设置为coerce,以便在读取csv文件后将所有值转换为数字。

样本输入df

    A   B        
0   1   2         
1   0  \N      
2  \N   8       
3  11   5       
4  11  Kud   

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

输出:

     A     B        
0    1     2         
1    0   NaN      
2  NaN     8       
3   11     5       
4   11   NaN