我有一个包含这些列(患者健康记录)的DataFrame:
VALUEUOM(我的实验室测试的度量单位,例如g / L)
print(df_items.columns.tolist())
['HADM_ID','ADMITTIME','ITEMID','CHARTTIME','VALUE','VALUEUOM']
我尝试使用groupby函数,然后进行聚合:
df_items = df_items.groupby(['HADM_ID', 'ITEMID'], sort=False).agg({'VALUE':'max'}).reset_index()
我获得了每个实验室测试的最大值,按ITEMID和HADM_ID分组,很完美。
但是我想保留CHARTTIME和VALUEUOM与特定行关联。
我们可以在stackoverflow的其他地方看到此解决方案:
annotations.ix[annotations.groupby(['bookid'], sort=False)['weight'].idxmax()][['bookid', 'conceptid', 'weight']]
我已经尝试过,但是不起作用(引发ValueError)
非常感谢!