如何将两个分组的Pandas Dataframes按公共列(ID)合并在一起?

时间:2015-12-12 18:36:48

标签: python pandas merge group-by

我用熊猫学习数据分析。

我有两个分组数据框,如下所示。

DF1:

tell app "Safari" to get URL of every tab of every window

DF2:

        count1  count2  rate
id          
958     34  34  1.000000
2822    41  41  1.000000
5193    180 184 0.978261
5841    35  35  1.000000
5858    104 104 1.000000

我该怎样做 price id 958 170 2822 138 5193 160 5841 181 5858 250 ?目前,因为' id'是索引,我无法选择它。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

您可以使用join

In [226]: df1.join(df2)
Out[226]:
      count1  count2      rate  price
id
958       34      34  1.000000    170
2822      41      41  1.000000    138
5193     180     184  0.978261    160
5841      35      35  1.000000    181
5858     104     104  1.000000    250

merge使用reset_index df1df2

In [227]: pd.merge(df1.reset_index(), df2.reset_index(), how='inner', on=['id'])
Out[227]:
     id  count1  count2      rate  price
0   958      34      34  1.000000    170
1  2822      41      41  1.000000    138
2  5193     180     184  0.978261    160
3  5841      35      35  1.000000    181
4  5858     104     104  1.000000    250