[英]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.