根据这个例子,有人可以向我解释与pandas
的数据框连接吗?
第一个数据框,我们称之为A
,如下所示:
第二个数据框B
如下所示:
我想现在创建一个图表,在其中我将running
中的列A
的值与B
中的值进行比较,但前提是graph
列中的字符串是相同。 (在此示例中,A
和B
中的第一行具有相同的graph
,因此我想比较它们的running
值。)
我认为这是Pandas.DataFrame.join
的用途,但我无法正确制定加入数据框A
和B
所需的代码。
答案 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