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文件中的任何字符串转换为万一,以防将来获取的数据具有不同的字符串。
我是否可以对参数进行任何更改,使其涵盖所有字符串?
答案 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