pandas中数据帧的逐行联合

时间:2014-12-08 10:22:57

标签: python pandas

说我有两个DataFrames

df1 = pd.DataFrame([('A', 0.3), ('B', 0.4)], columns = ('ID', 'Buy'))
df2 = pd.DataFrame([('B', 3), ('A', 4)], columns = ('ID', 'Sell'))

产量:

    ID  Buy
0   A   0.3
1   B   0.4

    ID  Sell
0   B   3
1   A   4

分别

现在,我想获得一个收集数据的DataFrame,即:

    ID  Buy  Sell
0   A   0.3  4
1   B   0.4  3

请注意df1df2中的行顺序可能不同。此外,可能ID只出现在一个帧中而不出现在另一个帧中 - 在这种情况下,缺失值应填充NaN我猜。

我该怎么做?

我试过像

这样的东西
pd.concat([df1, df2], join = 'outer', axis = 1)

但不会返回所需的结果。

1 个答案:

答案 0 :(得分:1)

我想你想ID栏上的merge

In [12]:

df1 = pd.DataFrame([('A', 0.3), ('B', 0.4)], columns = ('ID', 'Buy'))
df2 = pd.DataFrame([('B', 3), ('A', 4)], columns = ('ID', 'Sell'))
df1.merge(df2, on='ID', how='outer')
Out[12]:
  ID  Buy  Sell
0  A  0.3     4
1  B  0.4     3