繁体   English   中英

Pandas 对多索引进行什么样的合并、连接或连接

[英]Pandas what kind of merge, join, or concat for multindex

我有带多重索引的数据框:

     A | B
1 0  a   b
2 0  c   d
  1  e   f
3 0  g   h
  1  i   j
  2  k   l

我也有一个匹配索引级别为 0 的系列

1 m
2 n
3 o

现在,我想将这个系列的值添加到数据框中

     A | B | C
1 0  a   b   m
2 0  c   d   n
  1  e   f   n
3 0  g   h   o
  1  i   j   o
  2  k   l   o

我应该使用什么样的连接、合并、连接? 我不介意之后是否必须填充,但我想保持数据框的多索引完好无损。

非常感谢

您需要命名索引级别,以便可以在合并中引用它们。 DataFrame您的Series转换为DataFrame

df.index.names=['idx1', 'idx2']
df.merge(s.to_frame('C'), left_on='idx1', right_index=True)

           A  B  C
idx1 idx2         
1    0     a  b  m
2    0     c  d  n
     1     e  f  n
3    0     g  h  o
     1     i  j  o
     2     k  l  o

也可以删除索引级别之一,然后加入Series并添加索引级别:

df.reset_index(1).join(s.rename('C')).set_index('level_1', append=True)

           A  B  C
  level_1         
1 0        a  b  m
2 0        c  d  n
  1        e  f  n
3 0        g  h  o
  1        i  j  o
  2        k  l  o

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM