首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫多指标数据的迭代构建

熊猫多指标数据的迭代构建
EN

Stack Overflow用户
提问于 2015-02-19 05:33:22
回答 1查看 528关注 0票数 1

我有一个n小数据文件,我把它合并成一个多索引数据。

代码语言:javascript
复制
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'])

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

结果:

代码语言:javascript
复制
      name attr11 attr21  attr22
d1    a    5    NULL    9
      b    4    NULL    61
      c    24   NULL    9
d2    a    NULL   5    19
      b    NULL   14   16
      c    NULL   4    9
d3    a    NULL   5    19 
      b    NULL   14   16
      c    NULL   4    9
      d    NULL   10   14
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-19 06:21:36

您可以在连接之后构建multiindex。只需使用dataframe id向每个帧添加一列:

代码语言:javascript
复制
frames =[d1,d2,d3]

使用框架id向每个帧添加一列:

代码语言:javascript
复制
for x in enumerate(frames):
    x[1]['frame_id'] = 'd'+str(x[0]+1)

然后将帧列表连接起来,并在所需的列上设置索引:

代码语言:javascript
复制
pd.concat(frames).set_index(['frame_id','name'])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28599263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档