根据多个条件将列添加到数据框(基于另一个数据框的值)

时间:2020-02-04 16:52:16

标签: python-3.x pandas dataframe

我有两个数据框。第一个代表来自clientdate的特定交易。第二个数据帧显示每个group被分配给哪个client

df1

client  date
1       01.01.2020
2       01.01.2020
3       02.01.2020
4       03.01.2020

df2

client group beginning   end
1      11    01.01.2019  NaN
2      12    01.01.2019  01.07.2019
2      11    02.07.2019  01.02.2020
2      13    02.02.2020  NaN
3      13    01.08.2019  NaN
4      12    01.09.2019  31.01.2020
4      14    01.02.2020  NaN

我需要在df1中添加第三列,以显示在事务groupclient被分配给哪个date。所以预期的输出是这样的:

client  date        group
1       01.01.2020  11
2       01.01.2020  11
3       02.01.2020  13
4       03.01.2020  12

1 个答案:

答案 0 :(得分:0)

您应该在merge参数中将熊猫on与多列配合使用:

df_output = df1.merge(df2[['client','group','beginning']],how='left',left_on=['client','date'],right_on=['client','beginning'])