如何按列对数据框进行分组?

Posted

技术标签:

【中文标题】如何按列对数据框进行分组?【英文标题】:How to group a dataframe by a column? 【发布时间】:2022-01-22 14:35:05 【问题描述】:

所以我在这里有这个数据框。我想制作一个出现次数最多的国家/地区的饼图。为了让我的标签正确,我需要创建一个名为“国家”的列表,该列表以出现次数最多的国家开头,以出现一次的国家结尾。我该怎么做呢?

【问题讨论】:

为了澄清,我希望 ITA 启动列表,因为它出现的次数最多。但是,如果 ITA 以第二名开始呢?我该怎么写?谢谢。 【参考方案1】:

使用默认排序的Series.value_counts,因此获取索引并将它们转换为列表:

countries = df["Nationality"].value_counts().index.tolist()

【讨论】:

你是最棒的!【参考方案2】:

我不确定我是否得到了你的帮助,但也许这是一个解决方案:

df = sorted(your_df, key = your_df.loc[:, ["Nationality"]].count, 反向=真)

您的问题是按频率对元素进行排序

【讨论】:

以上是关于如何按列对数据框进行分组?的主要内容,如果未能解决你的问题,请参考以下文章

按列对分组数据帧进行采样

Python - 读取 csv 并按列对数据进行分组

php 按列对SQL结果进行分组

如何在 Pandas 数据框中按列值分组

如何按“大陆”列对此数据框进行分组?

如何按列值的计数进行分组并对其进行排序?