2 回答
TA贡献1808条经验 获得超4个赞
Total在列中添加groupby避免MultiIndex列,第二个问题需要sortingby index,默认值是什么,所以应该删除:
test = df.groupby('Sector')['Total'].agg(['sum', 'mean', 'count'])
#if use inplace=True cannot assign values
test.sort_values('sum', ascending = False, inplace = True)
print (test)
#if omitted, you need assign
test = test.sort_values('sum', ascending = False)
print (test)
或者,如果需要在命名聚合中自定义列名称:
test = df.groupby('Sector').agg(sum1=('Total','sum'),
avg=('Total','mean'),
size=('Total','count'))
test.sort_values('sum1', ascending = False, inplace = True)
print (test)
TA贡献1852条经验 获得超7个赞
用于test.columns
查看列名称。然后使用您在sort_values
.
您有多个索引列,这就是您的问题。重命名它们。
test.columns = ["sum", "mean", "count"]
或者使用multindex
sort_values 中的列名称
.sort_values(('Total', 'sum'), ascending = False, inplace = True) #without axis='columns'
添加回答
举报