我有以下输入 trans.csv 文件:
Date,Currenncy,Symbol,Type,Units,UnitPrice,Cost,Tax
2012-03-14,USD,AAPL,BUY,1000
2012-05-12,USD,SBUX,SELL,500
单价、成本和税费字段是可选的。如果未指定它们,我预计 DataFrame 单元格中为 NaN。
我读取了 csv 文件:
t = pandas.read_csv('trans.csv', parse_dates=True, index_col=0)
得到以下结果:
Currenncy Symbol Type Units UnitPrice Cost Tax
Date
2012-03-14 USD AAPL BUY 1000 2012-05-12 012-05-12 12-05-12
2012-02-05 USD SBUX SELL 500 NaN NaN NaN
为什么第一行没有NaN并且Date重复了? 有什么解决方法可以为未指定的字段获取 NaN 吗?
最佳答案
您的 CSV 文件格式错误。我在 Pandas 0.10 中得到了与你相同的答案,虽然我承认这确实非常非常奇怪,但你不应该向它提供格式错误的数据。
Date,Currenncy,Symbol,Type,Units,UnitPrice,Cost,Tax
2012-03-14,USD,AAPL,BUY,1000,,,
2012-05-12,USD,SBUX,SELL,500,,,
返回预期
>>> import pandas as pd
>>> t = pd.read_csv('pandas_test', parse_dates=True, index_col=0)
>>> t
Currenncy Symbol Type Units UnitPrice Cost Tax
Date
2012-03-14 USD AAPL BUY 1000 NaN NaN NaN
2012-05-12 USD SBUX SELL 500 NaN NaN NaN
关于python - pandas.read_csv() 空(默认)值的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14237749/