python - pandas 中数据帧的行并集

标签 python pandas

假设我有两个 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

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

我该怎么做?

我尝试过类似的事情

pd.concat([df1, df2], join = 'outer', axis = 1)

但没有返回所需的结果。

最佳答案

我想你想 mergeID 列上:

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/

相关文章:

python - mongoengine - 使用 QuerySet 作为 ReferenceField

python - 将每列的最后 N 个正值提取到新的数据框中

Python 请求多部分 HTTP POST

python - 在加载到 MySQL 之前使用 Python 3 从文件中删除无效的 UTF-8 字符

python - 如何使用 CUDA CURAND 保存和恢复随机数生成器的状态?

python - Pandas: AttributeError: 模块 'csv' 没有属性 'excel'

python - 对行进行分组并定义列聚合规则

python - Scikit-Learn/Pandas : make a prediction using a saved model based on user input

Python:将整数转换为日期时间戳

python - 如何在 PyQt 的 QTableWidget 中的同一单元格中显示图像和文本?