在数据帧中使用count.values和/或sort.values按每个给定类别对值的数量进行排序

2024-06-30 12:14:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题是关于熊猫和数据帧的使用。到目前为止,我已经成功地重新命名了列,并从数据集中删除了所有空值。数据集由每一篇引用的文章以及每一个国家和当局给予的GDPR罚款组成

处理后的数据集头如下所示:

处理后数据集负责人: head of dataset after processing

有了这个代码块,我还设法对每一篇被破坏的GDPR文章的罚款进行相应的合计:

article_and_date = gdpr_fines.groupby(["quoted article"]).sum()
article_and_date.sort_values(['fine'], ascending=[0], inplace=True)
article_and_date.head(10)

引用文章与罚款: quoted articles vs. fine

我的问题是:如何使用count.values和/或sort.values函数来计算每个国家的罚款数量?所以不是总金额,而是个别数量的罚款。参考前面的代码块:如何计算罚款与引用文章的数量?就像十大最罚款的文章

这是我的试用期,但出于某种原因,它列出了所有列,即使我只提到“国家”和“罚款”列

fine_by_country = gdpr_fines.groupby(["Country"]).count()
fine_by_country.sort_values(['fine'], ascending=[0], inplace=True)
fine_by_country.head(10)

以下是输出图片:

fines by country tryout


Tags: and数据代码数量datebyarticle文章
2条回答

怎么样:

fine_by_country = gdpr_fines["fine"].groupby(["Country"]).count()

这可能不起作用,因为gdpr\u fines[“fine”]将生成一个序列而不是一个数据帧。您可能需要包含第二个列以保持其为数据帧,然后删除结果计数

在S/O上发帖时,请保持最小。据我所知,在你的20多行,你唯一的问题是保持一列,忽略其余的。这是一个简单的indexing任务。只能选择一列,如下所示:

fine_by_country = fine_by_country.head(10)['fine']

如果确实要保留数据帧而不是序列:

fine_by_country = fine_by_country.head(10)[['fine']] # double brackets

相关问题 更多 >