Pandas 熊猫群体中基于groupby或condition的Z评分估计

Pandas 熊猫群体中基于groupby或condition的Z评分估计,pandas,pandas-groupby,Pandas,Pandas Groupby,我有一个出租价值的统计参考表,如下所示 Sector Usage Mean_Rent Standard_deviation SE1 R 100 10 SE1 C 120 5 SE2 R 200 50 SE2 C 150 60 我还有租赁合同表,

我有一个出租价值的统计参考表,如下所示

Sector      Usage     Mean_Rent       Standard_deviation
SE1         R         100             10
SE1         C         120             5
SE2         R         200             50
SE2         C         150             60
我还有租赁合同表,其中包含租赁合同信息

ID     Sector     Usage     Tenancy_year       Rental
1      SE1        R         2020               120
2      SE1        C         2020               180
3      SE1        R         2020               210
4      SE2        R         2020               170
5      SE2        C         2020               190
6      SE2        R         2020               210
在上表中,我想创建一个新的Z_score列。其中,Z分数是使用参考表计算的,参考表中包含了行业和使用列

预期产量

    ID     Sector     Usage     Tenancy_year       Rental     Z_score
    1      SE1        R         2020               120        (120-100)/10
    2      SE1        C         2020               180        (180-120)/5
    3      SE1        R         2020               210        (210-100)/10
    4      SE2        R         2020               170        (170-200)/50
    5      SE2        C         2020               190        (190-150)/60
    6      SE2        R         2020               210        (210-200)/50

假设这两个表是
df1
df2
(按显示的顺序),您可以
合并它们,然后创建z分数:

df = pd.merge(df1, df2, how='right', on=['Sector', 'Usage'])

df['Z_score'] = (df.Rental - df.Mean_Rent) / df.Standard_deviation