首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅用唯一值索引对象重新索引有效

仅用唯一值索引对象重新索引有效
EN

Stack Overflow用户
提问于 2022-02-23 16:12:18
回答 1查看 4.4K关注 0票数 3

我运行这段代码

代码语言:javascript
复制
esg_fm_barron = pd.concat([barron_clean.drop(columns = "10 year return", inplace = False),ESG_fixed.drop(columns = 'Name',inplace = False), financial_clean.drop(columns = 'Name',inplace = False)], axis = 'columns', join = 'inner')
esg_fm_barron.rename(columns={'Average (Current)': "Total ESG Score"}, inplace=True)
esg_fm_barron.head(3)

但是,是否有此错误:仅对唯一值的Index对象进行重新索引有效,是否有人知道解决方案?谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-02-23 20:04:48

运行pd.concat时,每个源DataFrame必须具有唯一的索引。

首先确定哪个源DataFrame有一个非唯一的索引.对于每个源DataFrame (假设它是df),运行:

代码语言:javascript
复制
df.index.is_unique

(这是一个属性,而不是一个方法,因此不要使用括号)。

错误的结果意味着这个DataFrame中的索引是非唯一的。然后删除具有重复索引值的行:

代码语言:javascript
复制
df = df.loc[~df.index.duplicated(keep='first')]

为了不丢失原始数据,也许您应该将结果保存在一个新的临时DataFrame下,然后使用它来连接这些临时DataFrames。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71240439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档