gpt4 book ai didi

python - 用多索引迭代连接 Pandas 数据框

转载 作者:行者123 更新时间:2023-11-28 21:57:13 25 4
gpt4 key购买 nike

我正在迭代处理几个“组”,我想将它们一起添加到一个数据框中,每个组都由二级索引标识。

这个:

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)

但最后一行完全破坏了我的多索引,我无法重建它。

你能帮我一下吗?

最佳答案

应该能够将 data_all 做成一个列表并在末尾连接一次:

data_all = []
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.append(group)

data_all = pd.concat(data_all, ignore_index=False)

另请记住,pandas 的 concat 与迭代器一起使用。像 yield group 这样的东西可能比每次都附加到列表更有效。不过我还没有分析它!

关于python - 用多索引迭代连接 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20109845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com