I have a dataframe df1 :-
| REGION | DATE | Count | TIME PER ID |
|---|---|---|---|
| ABC | 2021-03-22 | 2 | 44 |
I have another dataframe df2 :-
| ID | REGION | DATE | TIME |
|---|---|---|---|
| 11 | ABC | 2021-03-22 | 198 |
| 75 | ABC | 2021-03-22 | 250 |
I want to achieve this :-
| ID | REGION | DATE | TIME | TIME PER ID | TOTAL TIME |
|---|---|---|---|---|---|
| 11 | ABC | 2021-03-22 | 198 | 44 | 242 |
| 75 | ABC | 2021-03-22 | 250 | 44 | 294 |
Essentially I want to match the REGION and DATE and whatever value for TIME PER ID from df1 I want to populate that for those rows in df2 which matches the region and Date
CodePudding user response:
Merge both dataframes and then create the new column.
output_df = df2.merge(df1, on=['REGION', 'DATE'], how='left')
output_df.loc[:, 'TOTAL'] = output_df['Time'] output_df['TIME PER ID']
