迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Pandas 中分组和排序

作者:迹忆客 最近更新:2024/04/23 浏览次数:

本教程探讨了对 DataFrame 的数据进行分组并在 Pandas 中对其进行排序的概念。


在 Pandas 中对 DataFrame 进行分组和排序

正如我们所了解的,Pandas 是一种高级数据分析工具或 Python 中的包扩展。大多数使用 Python 并需要高质量数据分析的公司和组织都在大规模使用此工具。

本教程让我们了解如何以及为什么对 Pandas DataFrame 中的某些数据进行分组和排序。大多数使用 Python 和 Pandas 进行数据分析的企业和组织都需要从他们的数据中收集见解,以更好地规划他们的业务。

Pandas 通过 groupby 功能帮助分析师收集此类见解。例如,考虑一家以产品为基础的公司。

该公司可能需要对某些产品进行分组并在其销售订单中对其进行分类。因此,分组和排序在数据分析和解释方面具有许多优势。

在开始之前,我们创建一个虚拟 DataFrame 来使用。这里我们创建一个 DataFrame,即 df

我们在这个 df DataFrame 中添加了一些列和某些数据。我们可以使用以下代码执行此操作。

import pandas as pd

df = pd.DataFrame({"dat1": [9, 5]})
df = pd.DataFrame(
    {
        "name": ["Foo", "Foo", "Baar", "Foo", "Baar", "Foo", "Baar", "Baar"],
        "count_1": [5, 10, 12, 15, 20, 25, 30, 35],
        "count_2": [100, 150, 100, 25, 250, 300, 400, 500],
    }
)

上面的代码创建了一个 DataFrame 以及一些条目。要查看数据中的条目,我们使用以下代码。

print(df)

上面的代码给出了以下输出。

	name	count_1	count_2
0	Foo		5		100
1	Foo		10		150
2	Baar	12		100
3	Foo		15		25
4	Baar	20		250
5	Foo		25		300
6	Baar	30		400
7	Baar	35		500

正如我们所见,我们有 4 列和 8 行索引,从值 0 到值 7。如果我们查看我们的 DataFrame,我们会看到某些重复的名称,命名为 df

由于我们已经设置了 DataFrame,让我们在这个 DataFrame 中对数据进行分组,然后对这些分组中的值进行排序。


在 Pandas 中使用 groupby 函数对 DataFrame 进行分组和排序

让我们将这些数据分组,因为我们已经将其设置到位。我们可以对这些数据进行分组,以便我们在名称列下将相似产品的名称相互分组,以进行更好的数据分析。

我们可以使用 groupby 函数在 Pandas 中执行此操作。此功能可确保将指定列下的产品或值放在一起或分组。

我们可以对这些分组数据执行任何额外的操作。这种分组操作可以在 Pandas 中进行,如下图所示。

df.groupby(["name"])

如我们所见,我们在名为 df 的 DataFrame 上使用 groupby 函数,并将列 name 作为参数传递。

现在让我们用这个 groupby 函数对我们的数据进行排序,这样我们不仅有分组,而且还有按特定格式排序的数据。

在执行 groupby 操作后,我们希望对数据进行排序以在我们的分组中具有三个最大值。

这意味着我们希望在对我们的 df 中的分组 DataFrame 进行排序后获取三个最大值。我们可以使用以下代码执行此操作。

print(df.groupby(["name"])["count_1"].nlargest(3))

该代码获取以下结果。

name
Baar  7    35
      6    30
      4    20
Foo   5    25
      3    15
      1    10
Name: count_1, dtype: int64

正如我们所看到的,我们对分组进行了排序,使得我们只有在 count_1 列中显示的具有最高计数的前三个名称。

因此,对于名称 Baar,我们可以看到我们有三个条目的计数列为 353020,以及两个条目 Foo 的计数列为 251510

在 Pandas 中,我们还可以可视化与已分组的数据类型关联的数据类型和列名称。在我们的例子中,我们在底部的输出中列出了名为 count_1 的分组列,其数据类型为 int64

因此,使用 groupby 函数和 nlargest() 函数,我们在 DataFrame 中对列进行了分组、排序和获取某些记录。

上一篇:Pandas 中的 Groupby 索引列

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas 中的 Groupby 索引列

发布时间:2024/04/23 浏览次数:79 分类:Python

本教程将介绍如何使用 Python Pandas Groupby 对数据进行分类,然后将函数应用于类别。通过示例使用 groupby() 函数按 Pandas 中的多个索引列进行分组。

Pandas 通过 Groupby 应用变换

发布时间:2024/04/23 浏览次数:180 分类:Python

本教程演示了 Pandas Python 中与 groupby 方法一起使用的 apply 和 transform 之间的区别。

Pandas Vlookup

发布时间:2024/04/23 浏览次数:83 分类:Python

本教程演示如何在 Python 中使用 Pandas 通过不同的技术合并两个不同的表。

Pandas 中的散点矩阵

发布时间:2024/04/23 浏览次数:105 分类:Python

本教程演示了如何使用 scatter_matrix 函数在 Pandas 中创建散点图。

Pandas 中的 GroupBy 应用

发布时间:2024/04/23 浏览次数:181 分类:Python

本文演示了什么是 GroupBy-Apply 行为以及如何在 Pandas 中按数据分组和应用函数。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便