我有一个数据集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"]
我在保留数据集中的所有列时遇到问题。 如有任何建议,我们将不胜感激
按相似列分组,计算平均值,然后分配UsedB
df.groupby(['date', 'name', 'rack', 'freeB']).agg({'TotalB': 'mean'}).reset_index().assign(UsedB=lambda x: x['TotalB'] - x['freeB'])
您还可以使用
as_index=False
选项:从这个问题来看,你似乎想做如下事情:
它将根据前3列进行分组,并找到最后2列的平均值,然后是
相关问题 更多 >
编程相关推荐