说我有两个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
请注意df1
和df2
中的行顺序可能不同。此外,可能ID只出现在一个帧中而不出现在另一个帧中 - 在这种情况下,缺失值应填充NaN
我猜。
我该怎么做?
我试过像
这样的东西pd.concat([df1, df2], join = 'outer', axis = 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