我正在使用pandas函数read_csv
来读取没有索引列的CSV。
read_csv("file.csv", header=1)
我原以为PANDAS会根据documentation
为每一行生成一个索引index_col:列号,列名或列号/名称列表,用作生成的DataFrame的索引(行标签)。默认情况下,它会对行进行编号而不使用任何列,除非有多个数据列而不是标题,在这种情况下,第一列将作为索引。
但是,在加载文件时会抛出,
Exception: Reindexing only valid with uniquely valued Index objects
我无法弄清楚为什么会这样。造成这种异常的原因是什么?
我也试过传递skiprows
和nrows
并发生同样的异常。
答案 0 :(得分: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
涉及标题值不唯一。