Python 在多列上使用 groupby 函数进行查询

Python query using groupby function on multiple columns

我有一个数据框 df,其中 df=

Practice    Month    DDD    MDM    BNF    Patient registered

1             1       4      67     A       1000

1             2       5      56     A       1010

2             1       6      45     B       1050

3             2       5      100    B       1100

我必须编写 python 代码来向我的数据框添加一个新列,即每个实践每月 DDD_per_patient 通过对实践、月份和 BNF 进行分组并将注册的患者除以总 DDD 我的数据框非常大

这有帮助吗:

def DDD_per_patient_per_month(group):
  group["DDD_per_patient per month"] = group["Patients Registered"] / group["DDD"]
  return group

df.groupby(["Practice", "Month", "BNF"]).apply(DDD_per_patient_per_month)

输出:

    Practice    Month   DDD MDM BNF Patients Registered DDD_per_patient per month
0          1      1       4 67  A   1000                250.0
1          1      2       5 56  A   1010                202.0
2          2      1       6 45  B   1050                175.0
3          3      2       5 100 B   1100                220.0