假设我有两个 DataFrame
:
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)
但没有返回所需的结果。
最佳答案
我想你想 merge
在 ID
列上:
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
关于python - pandas 中数据帧的行并集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27355814/