【问题标题】:Update from two dataframe [duplicate]从两个数据框更新[重复]
【发布时间】:2020-04-04 08:46:56
【问题描述】:

我有 2 个数据框。

一个是

DF1

col1   col2   label
  a      qq       1
  a      ww       1
  a      ee       0
  b      qq       1
  b      ww       0
  b      rr       0

另一个是

DF2

col1   col2   label
  a      qq
  a      ww
  a      ee
  b      qq
  b      tt
  b      rr

所以如果有与 col1 和 col2 匹配的对,我想将 DF1 的标签写入 DF2 标签。 如果没有匹配对,我只想将 0 标记为 DF2 标签。

我该如何处理。

提前致谢。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    请您尝试关注一下。

    df2['label']=np.where(df2['label'].isna(),df1['label'],df2['label'])
    

    一旦我们打印编辑df2,它的值现在将如下所示。

        col1   col2 label
    0   a       qq  1.0
    1   a       ww  1.0
    2   a       ee  0.0
    3   b       qq  1.0
    4   b       tt  0.0
    5   b       rr  0.0
    

    【讨论】:

    • 表示操作数不能与形状一起广播 (2435,) (2435,) (8828,)
    • @puhuk,不确定,但对于您给定的样本,它工作正常。我从您提供的示例中创建了 2 个 df,并运行了上面为我执行的代码。
    猜你喜欢
    • 2020-11-13
    • 1970-01-01
    • 2022-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    相关资源
    最近更新 更多