首页 > 解决方案 > Pandas:在索引匹配的地方加入或合并

问题描述

我有一个带有州费率(rates_gp)的df。另一个 df 有工人信息 ( workers_df)。我需要将状态费率合并到工人,以便稍后计算每个员工的工人补偿率。

这是一个示例:

df1column 到 df2column

标签: pythonpandasdataframejoinmerge

解决方案


初始化数据:

rates_gp = pd.DataFrame({'state': ['AL', 'AZ', 'CA', 'CO'], 'rate': [0.0046, 0.0033, 0.0036, 0.0053]})
rates_gp.set_index('state', inplace=True)
rates_gp

         rate
state        
AL     0.0046
AZ     0.0033
CA     0.0036
CO     0.0053

workers_df = pd.DataFrame({'Employeeid': [11, 12, 13, 14], 'state': ['AL', 'AL', 'AZ', 'AZ']
                           , 'salary': [2000, 3500, 1100, 4200]})
workers_df

    Employeeid  state   salary
0   11          AL      2000
1   12          AL      3500
2   13          AZ      1100
3   14          AZ      4200

解决方案是:

merged_df = workers_df.merge(rates_gp, how='inner', on='state')
merged_df

    Employeeid  state   salary  rate
0   11          AL      2000    0.0046
1   12          AL      3500    0.0046
2   13          AZ      1100    0.0033
3   14          AZ      4200    0.0033


推荐阅读