最佳答案
我正在使用熊猫库来读取一些 CSV 数据。在我的数据中,某些列包含字符串。字符串 "nan"
是一个可能的值,空字符串也是如此。我设法让熊猫把“ NaN”读作一个字符串,但是我不知道如何让它不把一个空值读作 NaN。下面是示例数据和输出
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 的形式读取空单元格。
我意识到我可以在读取之后用 filna 填充这些值,但是真的没有办法告诉熊猫特定 CSV 列中的一个空单元格应该被读取为一个空字符串而不是 NaN 吗?