我是 python 新手。我想根据唯一 ID 计算逐行平均值。
我的数据框是:
ID Time[h] concentration[g/L]
15127 V527 23.425 59.9
20361 V527 27.570 73.4
21880 V527 29.281 75.4
33133 V560 27.677 75.9
35077 V560 30.183 75.7
37117 V560 31.847 74.6
我想根据每个 ID 计算逐行平均值。所以我的输出看起来像这样
ID Time[h] concentration[g/L] avg [g/L]
15127 V527 23.425 59.9 NaN
20361 V527 27.570 73.4 66.5
21880 V527 29.281 75.4 74.4
33133 V560 27.677 75.9 NaN
35077 V560 30.183 75.7 66.5
37117 V560 31.847 74.6 75.8
我试过了:
df.groupby(['ID'])['concentration[g/L]'].mean()
但这返回了每个 ID 的平均值,作为一个整体。
所以我尝试了这个:
df.groupby(['ID'])['concentration[g/L]'].transform('mean')
这再次返回每组的平均值,但填充到我的 df 的相同长度。
你能帮我吗,如果有什么不清楚的地方,我可以改写我的问题。
提前致谢!