随笔 - 15  文章 - 5  评论 - 9  阅读 - 23624

groupby函数作用

在pandas中,groupby函数用于对DataFrame对象进行分组操作。它将数据按照指定的列或多个列进行分组,并返回一个GroupBy对象,可以对分组后的数据进行聚合、转换和筛选等操作。

groupby函数的常见用法如下:

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False, **kwargs)

参数说明:

  • by:指定用于分组的列名、列名的列表、字典或Series对象。如果是列名或列名的列表,表示按照指定的列进行分组;如果是字典或Series对象,表示按照字典或Series对象的值进行分组。
  • axis:指定按照列(axis=0)还是按照行(axis=1)进行分组。默认值为0,表示按照列进行分组。
  • level:指定按照多级索引的哪一级进行分组。
  • as_index:指定是否将分组的列作为索引,默认为True。
  • sort:指定是否按照分组键对结果进行排序,默认为True。
  • group_keys:指定是否在结果中包含分组键,默认为True。
  • squeeze:指定当分组只有一个组时,是否返回一个Series对象,默认为False。
  • observed:指定在进行分组操作时是否考虑观察到的所有值,默认为False。

示例:

import pandas as pd

data = {'name': ['John', 'Mary', 'Peter', 'John'],
        'city': ['London', 'Paris', 'London', 'Berlin'],
        'age': [25, 30, 35, 40]}
df = pd.DataFrame(data)

# 按照name列进行分组,并计算每个分组的平均年龄
grouped = df.groupby('name')
mean_age = grouped['age'].mean()
print(mean_age)

# 按照多个列进行分组,并计算每个分组的人数
grouped = df.groupby(['name', 'city'])
count = grouped.size()
print(count)

输出:

name
John     32.5
Mary     30.0
Peter    35.0
Name: age, dtype: float64

name   city  
John   Berlin    40
       London    25
Mary   Paris     30
Peter  London    35
dtype: int64

在上述示例中,首先使用groupby函数按照name列进行分组,并计算每个分组的平均年龄。然后,使用groupby函数按照name和city两列进行分组,并计算每个分组的人数。最后,打印了计算结果。

posted on   SoftWareBoy  阅读(320)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

淘宝女人专卖 天猫商城
点击右上角即可分享
微信分享提示