簡體   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