首页 文章

获取pandas.read_csv将空值读取为空字符串而不是nan

提问于
浏览
40

我正在使用pandas库来读取一些CSV数据 . 在我的数据中,某些列包含字符串 . 字符串 "nan" 是一个可能的值,因为它是一个空字符串 . 我设法让pandas读取"nan"作为字符串,但我可以't figure out how to get it not to read an empty value as NaN. Here' s样本数据和输出

One,Two,Three
a,1,one
b,2,two
,3,three
d,4,nan
e,5,five
nan,6,
g,7,seven

>>> pandas.read_csv('test.csv', na_values={'One': [], "Three": []})
    One  Two  Three
0    a    1    one
1    b    2    two
2  NaN    3  three
3    d    4    nan
4    e    5   five
5  nan    6    NaN
6    g    7  seven

它正确读取"nan"作为字符串“nan”,但仍然将空单元格读取为NaN . 我尝试将 converters 参数中的 str 传递给read_csv(带 converters={'One': str}) ),但它仍然将空单元格读取为NaN .

我意识到我可以用fillna读取后填充值,但是真的没有办法告诉pandas特定CSV列中的空单元应该被读作空字符串而不是NaN吗?

2 回答

相关问题