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
参数中对多个列使用pandasmerge
:
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'])