Python 3.x 基于多个条件将列添加到数据帧(值基于另一个数据帧)

Python 3.x 基于多个条件将列添加到数据帧(值基于另一个数据帧),python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我有两个数据帧。第一个表示在特定的日期来自客户机的特定交易。第二个数据框显示每个客户机分配给哪个组 df1 df2 我需要将第三列添加到df1中,这将显示客户机在交易日期分配给哪个组。因此,预期的输出如下所示: client date group 1 01.01.2020 11 2 01.01.2020 11 3 02.01.2020 13 4 03.01.2020 12 您应该在on参数中对多个列使用pandasmerg

我有两个数据帧。第一个表示在特定的
日期
来自
客户机
的特定交易。第二个数据框显示每个
客户机
分配给哪个

df1

df2

我需要将第三列添加到
df1
中,这将显示
客户机在交易
日期
分配给哪个
。因此,预期的输出如下所示:

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

您应该在
on
参数中对多个列使用pandas
merge

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

我认为只有在日期和开始日期相同的情况下才有效。我认为这是您想要的。我刚刚再次阅读了您的问题,您希望将它们与开始日期或结束日期匹配,对吗?
date
参数应该在
start
end
之间。基本上,
客户机
可以在不同的时间段处于不同的
,因此我需要添加在事务
日期
上实际存在的
字段
client  date        group
1       01.01.2020  11
2       01.01.2020  11
3       02.01.2020  13
4       03.01.2020  12
df_output = df1.merge(df2[['client','group','beginning']],how='left',left_on=['client','date'],right_on=['client','beginning'])