如何与pandas进行数据框连接?

时间:2013-02-21 17:11:16

标签: join dataframe pandas ipython-notebook

根据这个例子,有人可以向我解释与pandas的数据框连接吗?

第一个数据框,我们称之为A,如下所示:

enter image description here

第二个数据框B如下所示:

enter image description here

我想现在创建一个图表,在其中我将running中的列A的值与B中的值进行比较,但前提是graph列中的字符串是相同。 (在此示例中,AB中的第一行具有相同的graph,因此我想比较它们的running值。)

我认为这是Pandas.DataFrame.join的用途,但我无法正确制定加入数据框AB所需的代码。

1 个答案:

答案 0 :(得分:5)

我想我会在这里使用merge

>>> a = pd.DataFrame({"graph": ["as-22july06", "belgium", "cage15"], "running": [2, 879, 4292], "mod": [0.28, 0.94, 0.66], "eps": [220, 176, 1096]})
>>> b = pd.DataFrame({"graph": ["as-22july06", "astro-ph", "cage15"], "running": [395.186, 714.542, 999], "mod": [0.67, 0.74, 0.999]})
>>> a
    eps        graph   mod  running
0   220  as-22july06  0.28        2
1   176      belgium  0.94      879
2  1096       cage15  0.66     4292
>>> b
         graph    mod  running
0  as-22july06  0.670  395.186
1     astro-ph  0.740  714.542
2       cage15  0.999  999.000
>>> a.merge(b, on="graph")
    eps        graph  mod_x  running_x  mod_y  running_y
0   220  as-22july06   0.28          2  0.670    395.186
1  1096       cage15   0.66       4292  0.999    999.000