您的位置: 网站首页> 大家问> 当前文章

InvalidIndexError: Reindexing only valid with uniquely valued Index objects

老董2021-08-20171围观,118赞

  在用pandas做数据拼接的时候可能遇到过如下报错:InvalidIndexError: Reindexing only valid with uniquely valued Index objects。

  这个问题我也遇见了,是在使用concat函数让2个df数据横向拼接时遇到的。看报错的意思就是拼接前单个df的索引值不可以有重复。经过测试确实如此。

  代码如下(df1和df2相同,横向拼接;df3的index索引特意设为重复值拼接时报错),自行体会。(在用其他函数时可能也会遇到同样的报错,报错原因是一致的)

# -*- coding:UTF-8 -*-
import pandas as pd

df1 = pd.DataFrame([['python66.com', 'dong'], ['baidu.com','li']],
                   columns=['site', 'author'])

df2 = pd.DataFrame([['python66.com', 'dong'], ['baidu.com','li']],
                   columns=['site', 'author'])

df = pd.concat([df1,df2],axis=1)
print(df)
print('--------------------')

df3 = pd.DataFrame([['python66.com', 'dong'], ['baidu.com','li']],
                   columns=['site', 'author'],index=[0,0])
df = pd.concat([df1,df3],axis=1)
print(df)

           site author          site author
0  python66.com   dong  python66.com   dong
1     baidu.com     li     baidu.com     li
--------------------
Traceback (most recent call last):
  File "D:/py3script/pandas_xuexi/test.py", line 16, in <module>
    df = pd.concat([df1,df3],axis=1)
  File "D:installpyinstalllibsite-packagespandascore
eshapeconcat.py", line 298, in concat
    return op.get_result()
  File "D:installpyinstalllibsite-packagespandascore
eshapeconcat.py", line 516, in get_result
    indexers[ax] = obj_labels.get_indexer(new_labels)
  File "D:installpyinstalllibsite-packagespandascoreindexesase.py", line 3171, in get_indexer
    raise InvalidIndexError(
pandas.errors.InvalidIndexError: Reindexing only valid with uniquely valued Index objects



很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会

文章评论

    InvalidIndexError: Reindexing only valid with uniquely valued Index objects文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 客服微信:a772483200