2013-02-21 30 views
3

基于这个例子,有人可以向我解释数据帧与pandas如何与熊猫做数据帧连接?

第一个数据帧,姑且称之为A,看起来是这样的:

enter image description here

第二个数据帧,B,看起来是这样的:

enter image description here

我想创建一个现在绘制我在其中比较A中的running列的值与B中的列的值,但只有在列中的字符串是相同的。 (在这个例子中,在AB第一行具有相同的所以我要比较它们的running值。)

我相信这是Pandas.DataFrame.join是,但我不能制定加入数据所需的代码框架AB正确。

回答

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