【发布时间】:2017-12-03 09:47:56
【问题描述】:
我通过应用以下 2 个查询对数据框组内的值进行了分组和排序:
df = df.groupby(['table_name','query_param_clean2']).size().to_frame('count').reset_index()
df = df.sort_values(['table_name','count'],ascending=False).groupby('table_name').apply(lambda x: x)
数据框现在看起来像这样:
table_name query_param_clean2 count
A query4 24
A query1 16
A query2 8
B query5 56
B query6 50
C query3 100
D query1 13
D query4 12
D query2 10
D query8 1
在这里,我将数据框正确分组并根据组中的计数进行排序。现在,我想做组之间的排序。
例如: table_name 下的 C 第一行的最大值为 100,因此 C 应该是输出中的顶部组,在 C 之后, B 应该在那里,因为 B 的第一行的第二大值为 56 100.
输出数据框应如下所示。
我可以在我的第二行代码中添加什么或添加其他内容以获取以下表格中的数据。
table_name query_param_clean2 count
C query3 100
B query5 56
B query6 50
A query4 24
A query1 16
A query2 8
D query1 13
D query4 12
D query2 10
D query8 1
请提出建议。
【问题讨论】:
标签: python python-3.x pandas dataframe pandas-groupby