![](/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.