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

Python 使用数据帧中的count.values和/或sort.values按每个给定类别对值的数量进行排序,python,pandas,dataframe,Python,Pandas,Dataframe,我的问题是关于熊猫和数据帧的使用。到目前为止,我已经设法重新命名了列,并从数据集中删除了所有空值。该数据集包括每个引用文章以及每个国家和当局等给出的GDPR罚款 处理后的数据集标头如下所示: fine_by_country = fine_by_country.head(10)['fine'] 处理后的数据集标题: 有了这个代码块,我还设法对每一篇被破坏的GDPR文章的罚款进行相应的合计: article_and_date = gdpr_fines.groupby(["quoted artic

我的问题是关于熊猫和数据帧的使用。到目前为止,我已经设法重新命名了列,并从数据集中删除了所有空值。该数据集包括每个引用文章以及每个国家和当局等给出的GDPR罚款

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

fine_by_country = fine_by_country.head(10)['fine']
处理后的数据集标题:

有了这个代码块,我还设法对每一篇被破坏的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)
引用文章与罚款:

我的问题是:如何使用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)
以下是输出的图片:

那么:

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

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

在S/O上发布时,请将其保留为最小值。从我对你20多行的理解来看,你唯一的问题是保留一列而忽略其余的。这是一项简单的任务。只能选择一列,如下所示:

fine_by_country = fine_by_country.head(10)['fine']
如果您确实希望保留数据帧而不是系列:

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

请复制并粘贴数据框,不要显示图像必须运行测试,.groupby().count()链也可以在系列上运行。尼古拉斯·热尔韦(Nicolas Gervais)提出了一个很好的观点,即使用双括号来保持数据帧。