有条件地将值从数据帧列复制到另一个具有不同长度的数据帧

时间:2021-07-28 16:38:16

标签: python pandas dataframe

如果其他两列中的值相同,我想将一个数据框列中的值复制到另一个数据框。

示例 df1:

identifier price
    1       nan
    1       nan 
    3       nan
    3       nan

等等。每个标识符有几行。

在我的 df2 中,“price”中的每个标识符只有一个值

示例 df2:

Identifier price
    1        3
    3        5

我只想将 df2 中的“价格”值复制到 df1 中的“价格”。将值复制到标识符匹配的每一列还是仅复制到第一列对我来说并不重要,因为无论如何我都会更改 df1["price"] 中每个标识符的除第一个条目之外的所有条目。

预期输出仍为 df1,因为我还需要其他列:

identifier price
    1        3
    1       nan 
    3        5
    3       nan

或:

identifier price
    1        3
    1        3 
    3        5
    3        5

我可以同时使用两者。

我尝试过 np.where 但数据帧的不同长度会导致问题。我也尝试使用 loc,但在定义条件成立时应插入单元格的值时卡住了。

非常感谢任何帮助,在此先感谢您!

0 个答案:

没有答案