唯一索引抛出异常:重新索引仅适用于具有唯一值的索引对象。

10

我有一个DataFrame列表。当我尝试将它们附加在一起时,出现以下错误:

pandas.errors.InvalidIndexError: Reindexing only valid
with uniquely valued Index objects

但是,我的索引是唯一的,例如:

dfList[0].index
Index(['5560654070'], dtype='object')

fList[1].index
Index(['5562221068'], dtype='object')

当使用 append()concat() 时,都会出现上述错误。

dfList[0].append(dfList[1])

"""
pandas.errors.InvalidIndexError: Reindexing only valid with uniquely valued Index objects
"""

我已经尝试过reset_index()ignore_index=True,但似乎都没有起作用。

3个回答

30

发现了错误的原因。作为一个pandas的新手,我认为错误只与索引有关。然而问题在于每个DataFrame中都有重复的列。


11
如果这个答案能提供更多细节就更好了。 - Dhruv
1
这不应该是答案,正如在此帖子中提到的:https://dev59.com/GGsMtIcB2Jgan1zn0MFM#69929377 - Florida Man
@FloridaMan,问题在于只有一个df具有重复的列,你提到的帖子引用了一对具有相同列索引和重复列名称的数据框。 - Bravhek
我刚刚遇到了这个问题,这个答案提供了我需要解决它的洞见。它应该得到更多的赞同。 - paulochf

0
在我的情况下,两个数据框的列对齐不一致,通过正确的列位置解决了问题。希望对有相同困扰的人有所帮助,我没有找到类似的答案,有点奇怪呵呵。使用的是 pandas 1.0.1 版本。

根据目前的写法,你的回答不够清晰。请编辑以添加更多细节,以帮助其他人理解这如何回答所提出的问题。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - undefined

-4

#尝试:

dfList[0].index
Index(['5560654070'], dtype='object')

dfList[1].index
Index(['5562221068'], dtype='object')

dfList_new = dfList[0:2]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接