繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM