【问题标题】:Python Pandas merging two data frames and map one row from one data frame to all rows from the otherPython Pandas 合并两个数据帧并将一个数据帧的一行映射到另一个数据帧的所有行
【发布时间】:2015-06-11 14:55:54
【问题描述】:

所以基本上我正在尝试实现这样的目标:

数据帧A:

    A    pr
0  true  0.3
1  false 0.7

数据帧B:

    B    pr
0  true  0.9
1  false 0.1

结果:

    A     pr_a   B     pr_b
0  true   0.3    true  0.9
1  true   0.3    false 0.1
2  false  0.7    true  0.9
3  false  0.7    false 0.1

有没有方便的方法来实现这一点? 一般情况如何? 例如,A、B 与 C 合并为我提供了 A、B、C 的所有映射。

提前谢谢你!

【问题讨论】:

标签: python pandas merge dataframe


【解决方案1】:

找到了解决办法。

添加另一个名为 key 的列并用 1 填充该列,如下所示:

数据帧A:

   A      pr   key
0  true   0.3  1
1  false  0.7  1

数据帧B:

   B      pr   key
0  true   0.9  1
1  false  0.1  1

然后像这样在 on='key' 上合并 A 和 B:

 newDataFrame = pandas.merge(DataFrameA, DataFrameB, on='key')

这样做的结果将是:

   A      pr_a  key  B     pr_b
0  true   0.3   1    true  0.9
1  true   0.3   1    false 0.1
2  false  0.7   1    true  0.9
3  false  0.7   1    false 0.1

最后,只需删除“key”列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2017-04-20
    • 1970-01-01
    相关资源
    最近更新 更多