![](/img/trans.png)
[英]Pandas DataFrame add new column values based on group by multiple conditions
[英]Add column to a dataframe based on multiple conditions (values based on another dataframe)
我有两个数据框。 第一个代表在特定date
来自client
的某笔交易。 第二个数据框显示每个client
分配到哪个group
。
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
,它将显示在交易date
client
被分配到哪个group
。 所以预期的输出是这样的:
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'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.