首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pandas.concat:无法处理不唯一的多索引!熊猫巨蟒

pandas.concat:无法处理不唯一的多索引!熊猫巨蟒
EN

Stack Overflow用户
提问于 2015-08-13 14:56:06
回答 2查看 12.7K关注 0票数 10

我尝试使用以下代码连接具有2个datetime索引的100个数据帧:

代码语言:javascript
复制
concat_df = pd.concat([df_dict[c] for c in df_dict], axis = 1)

但是某个数据帧(我假设它是一个,但也可能是更多)导致以下异常发生:

代码语言:javascript
复制
Exception: cannot handle a non-unique multi-index!

你知道为什么吗?

它是指第一个索引还是第二个索引?

EN

回答 2

Stack Overflow用户

发布于 2015-08-13 21:26:27

我发现它引用的是第一个索引,我的解决方案是:(我不确定它的效率如何,但concat随后会起作用)

代码语言:javascript
复制
dup_first_index_dates = np.where(np.array([np.sum(df_dict[c].index.duplicated()) for c in df_dict]) == 1)[0]
key = df_dict.keys()
for i in dup_first_index_dates :
    df_dict[key[i]] = df_dict[tickers[i]].reset_index().drop_duplicates('Level1').set_index(['Level1', 'Level2'])
票数 1
EN

Stack Overflow用户

发布于 2019-07-26 00:48:23

concat的以下选项ignore_index=True可能会有所帮助。

不确定这是否可以像下面这样使用:

代码语言:javascript
复制
concat_df = pd.concat([df_dict[c] for c in df_dict], axis = 1,ignore_index=True)

试一试!

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

https://stackoverflow.com/questions/31981443

复制
相关文章

相似问题

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