问题描述
我有两个数据框,例如下面的 df1、df2。 我想:
数据框 df1
是:
索引 | x_3 | x_1 | x_2 |
---|---|---|---|
10 | 110 | 126 | 112 |
11 | 131 | 140 | 143 |
12 | 130 | 128 | 116 |
13 | 118 | 150 | 125 |
14 | 102 | 117 | 110 |
15 | 103 | 105 | 148 |
16 | 116 | 114 | 114 |
17 | 120 | 132 | 110 |
.. 和第二个数据框 (df2
) 像:
索引 | x_1 | x_2 | x_3 |
---|---|---|---|
10 | 1 | 1 | 5 |
11 | 4 | 1 | 2 |
14 | 2 | 2 | 4 |
15 | 1 | 2 | 1 |
16 | 2 | 4 | 1 |
最终结果将是 df3,即:
索引 | x_1 | x_2 | x_3 |
---|---|---|---|
10 | 126 | 112 | 110 |
11 | 140 | 143 | 131 |
14 | 117 | 110 | 102 |
15 | 105 | 148 | 103 |
16 | 114 | 114 | 116 |
有什么见解吗?
解决方法
您可以根据index
和{{1}使用.reindex_like
来符合columns
的{{1}}和df1
index
的}:
columns
df2
,
df1.loc[df2.index,df2.columns]
Shubham 的回答非常pythonic。使用 loc 也是从首要原则出发的一种简单方法。