熊猫.concat:不能处理非唯一的多索引!熊猫Python



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

concat_df = pd.concat([df_dict[c] for c in df_dict], axis = 1)

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

Exception: cannot handle a non-unique multi-index!

知道为什么吗?

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

我发现它指的是第一个索引我的解决方案是:(认为不确定它是多么有效,但concat工作之后)

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'])

可能concat中的ignore_index=True有帮助。

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

concat_df = pd.concat([df_dict[c] for c in df_dict], axis = 1,ignore_index=True)

尝试!

最新更新