与我的查询类似,我正在尝试按一个特定的允许分组代码进行分组,这次在设置类别之前还检查了其他多个条件。
例如,我有以下数据帧:
MemberID | 入院代码 | LOS | 发作||
---|---|---|---|---|
1 | a | 5 | 3 | |
2 | a | 10 | 6||
1 | b | 2 | 3 | |
2 | b | 1 | 6 |
>>> df['LOSCategory'] = (df.groupby("AdmittingCode")
.apply(lambda x: x.apply(lambda xx:(x.LOS.mean() >= x.LOS.median()*2) | (xx.Episode >= 5), axis=1))
.astype(int)
.to_list()
)
>>> df
MemberID AdmittingCode LOS Episode LOSCategory
0 1 a 5 3 0
1 2 a 10 6 1
2 1 b 2 3 0
3 2 b 1 6 1
您需要编写一个返回所需结果的函数func
。
LOScategory = df.apply(
lambda row: func(row['MemberID'], row['AdmittingCode'],row['LOS'],row['Episode']),
axis=1)
df['LOScategory'] = LOScategory