python - pandas.read_csv() 空(默认)值的奇怪行为

标签 python csv pandas

我有以下输入 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/

相关文章:

python - 如何在不破坏 openpyxl 公式的情况下写入现有的 excel 文件?

csv - 如何为 “big data”分析项目设置架构?

python - pandas.DataFrame 上的成对行操作矩阵

c++ - CLion 不支持 CSV 文件?

python - 如何在 pandas 中重新存储而不是分组间隔

python - NumPy 中的 Pandas Series.map 等价物

python - 如何在 Python 中创建自己的 "parameterized"类型(如 `Optional[T]` )?

python - 在MySQL-Python中使用INSERT INTO语句的语法错误

python - 当我使用 toastnotification 执行 python exe 时,显示未找到 win10toast 分发

python - 从子目录中搜索 CSV 并将文件夹名称添加为一列