在pandas中迭代构建多索引数据帧

2024-04-25 19:38:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有n个小数据帧,我将它们组合成一个多索引数据帧。在

d1 = DataFrame(np.array([
    ['a', 5, 9],
    ['b', 4, 61],
    ['c', 24, 9]]),
    columns=['name', 'attr11', 'attr22'])

d2 = DataFrame(np.array([
    ['a', 5, 19],
    ['b', 14, 16],
    ['c', 4, 9]]),
    columns=['name', 'attr21', 'attr22'])

d3 = DataFrame(np.array([
    ['a', 5, 19],
    ['b', 14, 16],
    ['d', 10, 14],
    ['c', 4, 9]]),
    columns=['name', 'attr21', 'attr22'])

如何将这些组合成一个数据帧?在

结果:

^{pr2}$

Tags: columns数据namedataframenparrayd2d1
1条回答
网友
1楼 · 发布于 2024-04-25 19:38:52

您可以在串联之后生成multiindex。您只需在每个帧中添加一列,数据帧id为:

frames =[d1,d2,d3]

要添加每个框架的列id:

^{pr2}$

然后连接帧列表并在所需列上设置索引:

pd.concat(frames).set_index(['frame_id','name'])

相关问题 更多 >