我有一个数据集df,我要在其中:
df1
date name rack TotalB freeB
11/20/2020 a yes 11 5
11/20/2020 a yes 10 5
11/20/2020 a yes 12 5
11/20/2020 a yes 10 5
11/20/2020 b no 5 2
11/20/2020 b no 5 2
11/20/2020 b no 6 2
期望的结果
date name rack TotalB freeB UsedB
11/20/2020 a yes 10.75 5 5.75
11/20/2020 b no 5.33 2 3.33
我在做什么:
df.groupby('rack')['TotalB'].mean()
UsedB = df["TotalB"] - df["freeB"]
我在保留数据集中的所有列时遇到麻烦。任何建议表示赞赏。
从问题来看,您似乎想执行以下操作:
df = df1.groupby(['date', 'name', 'rack'], as_index=False).agg({'TotalB': 'mean', 'freeB': 'mean})
它将按前3列分组,并找到最后2列的平均值,然后是
df['UsedB'] = df.TotalB - df.freeB
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句