【问题标题】:Pandas read_csv index exceptionPandas read_csv 索引异常
【发布时间】:2012-09-11 01:52:05
【问题描述】:

我正在使用 pandas 函数 read_csv 来读取没有索引列的 CSV。

read_csv("file.csv", header=1)

我期待 PANDAS 会根据 documentation 为每一行生成一个索引

index_col:列号、列名或列号/名称列表,用作生成的 DataFrame 的索引(行标签)。默认情况下,它会在不使用任何列的情况下对行进行编号,除非数据列比标题多一个,在这种情况下,第一列被视为索引。

但是,在加载它抛出的文件时,

Exception: Reindexing only valid with uniquely valued Index objects

我不知道为什么会这样。是什么导致了这个异常?

我也尝试过传递skiprowsnrows 并出现同样的异常。

【问题讨论】:

  • 你能举一个数据的例子吗?
  • 到处都是。字符串、整数、浮点数、日期。但我并不想将其中任何一个解析为特定的数据类型。
  • 我的意思是你需要举一个具体的例子。比如,提供一个实际导致错误的示例数据文件。这个问题几乎可以肯定与该文件的格式以及它包含哪些数据的细节有关。
  • 抱歉@BrenBarn 我不愿意发布我的数据。

标签: python csv pandas import-from-csv


【解决方案1】:

问题在于header 参数不是True/False 类型参数。相反,它指定标题的行号。由于它被指定为1,它使用第二行作为标题,并且考虑到该行包含实际数据,因此这些值不一定是唯一的。

将命令改为

read_csv("file.csv")

read_csv("file.csv", header=0)

解决了这个问题。这是一个“duh”的时刻,但习惯了 R 我错误地认为header=1 指定读取标题。呃。

为了将来参考,异常

Reindexing only valid with uniquely valued Index objects

与不唯一的标头值有关。

【讨论】:

  • 你用的是什么版本的熊猫? read_csv 似乎在我想出的一些使用非唯一标题的玩具示例上运行良好。我不知道您是否可以提出一个特定的数据集来重现该问题而不会泄露您想要保密的数据。
猜你喜欢
  • 1970-01-01
  • 2018-12-05
  • 2021-12-31
  • 2019-04-05
  • 2019-02-04
  • 2019-03-17
  • 1970-01-01
  • 2012-11-29
  • 2014-01-30
相关资源
最近更新 更多