【问题标题】:Pandas read_csv() works on CSV file in Python 3 but returns NaNs in Python 2Pandas read_csv() 在 Python 3 中处理 CSV 文件,但在 Python 2 中返回 NaN
【发布时间】:2016-02-29 14:40:08
【问题描述】:

一个简单但有点令人费解的问题。我有一个 CSV 文件,它最初包含 136 行和 24 列数据(加上一列索引和两行的列标题)。当我借助 pandas 将此文件导入 Python 时,Python 3 和 Python 2 中的一切都正常。

import pandas as pd

R = pd.read_csv('csv_file.csv', index_col=0, header=[0,1])

但是,当我对 CSV 进行重新排序时,事情就变糟了,将八个旧文件行压缩成一个新行。这产生了 17 行和 192 列的数据,Python 3 的 pandas 仍然可以很好地处理这些数据。然而,Python 2 的 pandas 现在只返回一个巨大的 NaN 数据框,索引/列名导入良好。

知道这里发生了什么吗?我怎样才能让它消失?由于原因,我需要这段代码在 Python 2 中工作。如果相关,Python 2 在 Debian 上。

【问题讨论】:

  • 你能发布最小版本的 CSV 来展示这种行为吗?
  • 我不知道,但对于我来说,python 2.7.8 和 pandas 0.16.1 读起来很好。我只是使用pd.read_csv(filename) 没有任何选项。
  • 美丽,作品。显然我在 pandas 0.14.1 上,因为 apt-get life 在 Debian 上,但是通过 pip 升级解决了这个问题。非常感谢!不知道 0.14.1 出了什么问题,但显然现在已经解决了。

标签: python python-2.7 csv pandas


【解决方案1】:

问题源于过时的 pandas 版本 (0.14.1),该版本通过 Debian 上的 apt-get 分发。通过 pip 将 pandas 更新到 0.17.1 解决了这个问题,所以现在已经解决了导致此问题的任何错误。感谢 JohnE 的帮助!

【讨论】:

    猜你喜欢
    • 2018-07-13
    • 1970-01-01
    • 2016-12-13
    • 2016-02-14
    • 2016-06-06
    • 2015-07-26
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多