代码之家  ›  专栏  ›  技术社区  ›  zipline86

熊猫读取\u csv并将na\u值设置为csv文件[duplicate]中的任何字符串

  •  0
  • zipline86  · 技术社区  · 7 年前

    数据.csv

    1, 22, 3432

    2, 24, 54335

    2, 25, 3928

    我有一个从设备收集的csv文件。设备不时不时地传递信息并输出'\N'。我想把这些当成NaN来做

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

    效果不错。但是,我更希望不仅将这个字符串转换为NaN,而且将csv文件中的任何字符串都转换为NaN,以防将来得到的数据有不同的字符串。

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

    1 回复  |  直到 5 年前
        1
  •  4
  •   Abhi    7 年前

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

    nau值:list like或dict,默认为None

    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