【发布时间】:2013-12-05 06:23:37
【问题描述】:
我正在迭代处理几个“组”,我想将它们一起添加到数据框中,每个组都由二级索引标识。
这个:
print pd.concat([df1, df2, df3], keys=["A", "B", "C"])
是向我建议的 - 但它不能很好地适应迭代。
我正在做
data_all = pd.DataFrame([])
for a in a_list:
group = some.function(a, etc)
group = group.set_index(['CoI'], append=True, drop=True)
group = group.reorder_levels(['CoI','oldindex'])
data_all = pd.concat([data_all, group], ignore_index=False)
但最后一行完全破坏了我的多索引,我无法重建它。
你能帮帮我吗?
【问题讨论】:
-
我可能误读了代码,但为什么每次循环迭代都需要
concat?data_all可以只是一个列表,而你concat在 for 循环的末尾吗? -
解决了!继续写一个答案,我会接受的。
标签: python loops pandas dataframe multi-index