python - 根据 Pandas 中的组大小对分组数据进行排序

标签 python python-3.x pandas pandas-groupby

我的数据集中有两列,col1 和 col2。我想根据 col1 对数据进行分组,然后根据每个组的大小对数据进行排序。也就是说,我想按组的大小升序显示组。

我已经编写了用于分组和显示数据的代码如下:

grouped_data = df.groupby('col1')
"""code for sorting comes here"""
for name,group in grouped_data:
          print (name)
          print (group)

在显示数据之前,我需要根据组大小对其进行排序,这是我无法做到的。

最佳答案

对于 Pandas 0.17+,使用 sort_values:

df.groupby('col1').size().sort_values(ascending=False)

对于 pre-0.17,你可以使用 size().order():

df.groupby('col1').size().order(ascending=False)

关于python - 根据 Pandas 中的组大小对分组数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22291395/

相关文章:

python - Polars 将数字字符串转换为列表

python - 使用 pymssql 将字节插入 sql server varbinary(max) 列

python - 如何使用正则表达式在字符串中搜索

python - 如何让streamHandler每次都覆盖

python - Matplotlib Pandas : display columns name inside a stacked barchart

python - 当条形分组时显示条形的值

Python3 : BeautifulSoup4 not returning expected value

python - 类型错误 : 'cmp' is an invalid keyword argument for this function

python - 为什么我在尝试转换 np.array(some_list) ValueError : could not broadcast input array 时出错

python - 如何在Python数据框中存储调查的答案