我又在处理多重指数。这一次,我将合并两个具有相同类型的多索引索引和列的数据帧。但是,价值观是不同的,而且会有索引级别(0)值不同。我想把两个数据帧合并成一个。请看下面的例子。在
In [13]: df_ver1
Out[13]:
key nm 0 1 2 3
bar one -0.424972 0.567020 0.276232 -1.087401
two -0.673690 0.113648 -1.478427 0.524988
baz one 0.404705 0.577046 -1.715002 -1.039268
two -0.370647 -1.157892 -1.344312 0.844885
foo one 1.075770 -0.109050 1.643563 -1.469388
two 0.357021 -0.674600 -1.776904 -0.968914
qux one -1.294524 0.413738 0.276662 -0.472035
two -0.013960 -0.362543 -0.006154 -0.923061
In [14]: df_ver2
Out[14]:
key nm 0 1 2 3
bar one 0.895717 0.410835 -1.413681 -1.236269
two 0.805244 0.813850 1.607920 0.896171
baz one -1.206412 0.132003 1.024180 -0.487602
two 2.565646 -0.827317 0.569605 -0.082240
oof one 1.431256 -0.076467 0.875906 -2.182937
two 1.340309 -1.187678 -2.211372 0.380396
qux one -1.170299 1.130127 0.974466 0.084844
two -0.226169 -1.436737 -2.006747 0.432390
In [15]: df_total
out[15]:
key nm ver 0 1 2 3
bar one ver1 -0.424972 0.567020 0.276232 -1.087401
ver2 0.895717 0.410835 -1.413681 -1.236269
two ver1 -0.673690 0.113648 -1.478427 0.524988
ver2 0.805244 0.813850 1.607920 0.896171
baz one ver1 0.404705 0.577046 -1.715002 -1.039268
ver2 -1.206412 0.132003 1.024180 -0.487602
two ver1 -0.370647 -1.157892 -1.344312 0.844885
ver2 2.565646 -0.827317 0.569605 -0.082240
qux one ver1 -1.294524 0.413738 0.276662 -0.472035
ver2 -1.170299 1.130127 0.974466 0.084844
two ver1 -0.013960 -0.362543 -0.006154 -0.923061
ver2 -0.226169 -1.436737 -2.006747 0.432390
你可以看到ver1和ver2的第三级索引。每个值按列进行分层。需要记住的一点是,在df_ver1中有foo索引,在df_ver2中有oof索引。这些索引没有与其他dataframe匹配的索引,因此它被连接在内部帧中。我希望我解释得足够好,如果你有任何问题请告诉我。谢谢你的帮助!在
取两个dataframe的索引concat和sort_索引的交叉点,即
相关问题 更多 >
编程相关推荐