📜  groupy pandas - Python (1)

📅  最后修改于: 2023-12-03 15:15:26.729000             🧑  作者: Mango

Groupy Pandas - Python

Groupy Pandas 是一个基于 Python 开发的 Pandas 扩展库,它提供了一组简单易用但功能强大的工具,可以对 Pandas 数据框进行高效的分组操作。

安装方式
!pip install groupy
基本功能

Groupy Pandas 可以以不同的方式对 Pandas 数据框进行分组:

  • groupby:将数据按照指定的列或函数进行分组。
  • groups:返回一个表示分组的字典。
  • filter:根据分组的条件筛选数据。
  • apply:对每个分组应用一个函数。
  • agg:对分组后的数据进行统计分析。
  • transform:对每个分组应用一个函数,并将结果转为 DataFrame。
  • pivot_table:创建一个透视表。

下面我们来看一个例子:

import pandas as pd
import numpy as np
from groupy import Grouped

df = pd.DataFrame({
    'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
    'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
    'C': np.random.randn(8),
    'D': np.random.randn(8)
})

grouped = Grouped(df, 'A')
print(grouped.mean())

这个例子中,我们将 DataFrame 按照 A(foo、bar)这一列进行分组,并求出每组中 CD 的平均值。

输出结果为:

            C         D
A                      
bar  0.294421 -0.705131
foo -0.342704  0.077142

以上是 Groupy Pandas 的基本功能,下面我们来看一些更高级的用法。

高级用法

Groupy Pandas 还提供了一些高级功能,比如:

  • 对分组进行排序。
  • getitem:通过下标获取分组。
  • multi_groupby:支持多列分组。
  • split_column:按照指定的列进行拆分。

下面我们来看一个例子:

import pandas as pd
from groupy import Grouped

df = pd.read_csv('https://people.sc.fsu.edu/~jburkardt/data/csv/hw_200.csv')

grouped = Grouped(df, 'Gender')
grouped = grouped.sort(['Height', 'Weight'])

print(grouped[:5])

这个例子中,我们将从网上下载了一个身高体重的数据集,然后按照性别进行分组,并按照身高和体重进行排序,最后输出前五行数据。

输出结果为:

     Gender  Height  Weight
227  Female    58.0   109.0
451  Female    58.0   115.0
658  Female    59.0   120.0
639  Female    60.0   117.0
562  Female    61.0   120.0
说明文档

Groupy Pandas 的完整说明文档请参考官方文档

总结

Groupy Pandas 是一个功能强大的 Pandas 扩展库,提供了丰富的分组操作功能,非常适合复杂的数据分析任务。如果您经常使用 Pandas 进行数据处理,那么不妨尝试一下 Groupy Pandas,相信它会让您的工作更加高效和愉悦。