Pandas 按输出降序排列堆栈groupby

Pandas 按输出降序排列堆栈groupby,pandas,pandas-groupby,Pandas,Pandas Groupby,下面的示例代码创建了一个摘要 是否可以按降序排列与输出中每个“类型”相关联的数字 import pandas as pd dicta={'a':['K','L','K','L','K','L','K','L'], 'b':['Type_x1','Type_y1','Type_z1','Type_x2','Type_y2','Type_z2','Type_x3','Type_y3'], 'c':[1,2,None,4,5,6,None,8]} d=pd.DataFr

下面的示例代码创建了一个摘要

是否可以按降序排列与输出中每个“类型”相关联的数字

import pandas as pd

dicta={'a':['K','L','K','L','K','L','K','L'],
       'b':['Type_x1','Type_y1','Type_z1','Type_x2','Type_y2','Type_z2','Type_x3','Type_y3'],
       'c':[1,2,None,4,5,6,None,8]}

d=pd.DataFrame(dicta,columns=['a','b','c'])

k=d.pivot(index='a',columns='b',values='c')

k.apply(lambda x : x.name+": "+x.astype(str)).mask(k.isnull()).stack().groupby(level=0).apply(', '.join)

在连接它们之前先对它们进行排序

import pandas as pd

dicta={'a':['K','L','K','L','K','L','K','L'],
       'b':['Type_x1','Type_y1','Type_z1','Type_x2','Type_y2','Type_z2','Type_x3','Type_y3'],
       'c':[1,2,None,4,5,6,None,8]}

d=pd.DataFrame(dicta,columns=['a','b','c'])

d = d.dropna().sort_values('c', ascending = False)
d['combined'] = d.apply(lambda x: x.b + ":" + str(x.c), axis = 1)
d.groupby('a')['combined'].agg(','.join)

在哪个输出中,应用最终的
或枢轴?你能在最终的应用程序中添加你想要的输出吗。无法添加换行符,但输出将按与类型关联的值排序:“Type_y2:5.0,Type_x1:1.0”Type_y3:8.0,Type_z2:6.0,Type_x2:4.0,Type_y1:2.0”