pandas.concat:无法处理非唯一的多索引!熊猫Python

时间:2015-08-13 06:56:06

标签: python datetime pandas time-series

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

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

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

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

任何想法为什么?

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

2 个答案:

答案 0 :(得分:0)

我发现它指的是我的解决方案的第一个索引:(不确定它的效率如何,但后续的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'])

答案 1 :(得分:0)

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

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

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

尝试!