Pandas之groupby( )用法笔记小结

Pandas是Python中最流行的数据分析库之一,它提供了许多数据操作和处理的工具。其中一个重要的方法就是groupby()函数。

groupby()函数的基本用法

groupby()函数可以将数据按照某个或多个列进行分组,并将分组后的数据进行聚合处理。基本用法如下:

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

需要注意的是,groupby()函数除了第一个参数之外,其他参数均有默认值。在使用groupby()函数时,第一个参数是必填项,它代表按照哪个或哪些列进行分组。以DataFrame为例,如下所示:

import pandas as pd

data = {'Name': ['Tom', 'Jack', 'Tom', 'Jack', 'Tom', 'Ava', 'Ava', 'Ava'],
        'Dept': ['CS', 'PHYS', 'PHYS', 'CS', 'CS', 'PHYS', 'PRL', 'PRL'],
        'Salary': [5000, 3500, 4500, 3250, 5500, 4200, 5800, 5200]}
df = pd.DataFrame(data)

其中,Name代表员工姓名,Dept代表所属部门,Salary代表薪水。假设我们需要按照部门来计算平均薪水,代码如下:

df.groupby(['Dept'])['Salary'].mean()

这样就完成了按照不同部门计算平均薪水的操作。需要注意的是,输出结果中,Dept列已经不再作为列名出现,而是作为了分组的名称。

groupby()函数的高级用法

在实际应用中,groupby()函数往往会配合其他函数进行使用,以完成多个操作之间的衔接。下面是两个groupby()函数的高级用法,即agg()和apply()的示例。

agg()

agg()函数可以对数据进行一些聚合操作,比如求和、平均、标准差等。常见的用法如下:

df.groupby(['Dept'])['Salary'].agg(['sum', 'mean'])

这样就可以计算出各个部门的总薪水和平均薪水两个值。

apply()

apply()函数则可以对分组后的数据进行自定义的聚合操作,比如计算多个指标,做复杂的统计分析等。示例如下:

def my_agg(x):
    return pd.Series({'mean': x['Salary'].mean(),
                      'std': x['Salary'].std(),
                      'count': x['Dept'].count()})

df.groupby(['Dept']).apply(my_agg)

这样就可以计算出各个部门的薪水平均值、标准差和人数。

在实际应用中,groupby()函数可以与其他函数进行结合,比如filter()、transform()、pivot_table()等,进一步提高数据的分析效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas之groupby( )用法笔记小结 - Python技术站

(1)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 将Excel电子表格加载为pandas DataFrame

    将Excel电子表格加载为pandas DataFrame大致有以下几个步骤: 安装pandas库 首先,需要在python环境下安装pandas库,可以使用pip命令进行安装。若使用的是anaconda环境,可以不用安装,已经包含了pandas库。 # pip安装 pip install pandas 导入pandas库 加载pandas库,将其导入Pyt…

    python-answer 2023年3月27日
    00
  • Pandas实现Dataframe的合并

    Pandas是一个强大的数据分析工具,在数据处理中,经常需要进行数据合并操作。本文将详细讲解Pandas实现Dataframe的合并的完整攻略。 一、Pandas实现Dataframe的合并 Pandas中实现Dataframe的合并操作主要有三种方法:merge、join和concat。这三种方法都能实现Dataframe的合并操作,但使用场景和方式略有不…

    python 2023年5月14日
    00
  • 用SQLAlchemy将Pandas连接到数据库

    首先,我们需要先安装SQLAlchemy和Pandas包。可以使用以下命令在终端或命令行中进行安装: pip install sqlalchemy pandas 接下来,我们需要创建一个数据库引擎。在这里,我们使用SQLite数据库。 from sqlalchemy import create_engine engine = create_engine(‘s…

    python-answer 2023年3月27日
    00
  • Python pandas索引的设置和修改方法

    Python pandas是一个功能强大的数据分析工具,而它中的pandas索引和修改方法非常重要。在这里,我们将提供一个完整的攻略来讲解Python pandas的索引设置和修改方法。 1. 创建DataFrame 在开始讲解之前,让我们先创建一个简单的DataFrame: import pandas as pd data = {‘name’: [‘Tom…

    python 2023年5月14日
    00
  • 在Python Pandas中获取列的数据类型

    在Python Pandas中,我们可以通过dtypes属性获取数据框中各列数据的数据类型。此外,我们也可以使用info()方法来获取每列数据的数据类型和空值情况。 以下是一个示例数据框: import pandas as pd df = pd.DataFrame({‘col1’: [1, 2, 3], ‘col2’: [‘a’, ‘b’, ‘c’], ‘c…

    python-answer 2023年3月27日
    00
  • python 实现列表的切片操作允许索引超出范围

    Python支持对列表进行切片操作,切片操作允许我们从列表中按照指定的长度和步长获取其中的一部分元素。 除了基础的切片操作之外,Python还提供了一个很方便的功能,就是允许我们使用负数来表示从后往前的索引,这样我们就可以很方便地获取列表的后几个元素。此外,Python还允许我们在切片操作中使用超出索引范围的值,这也是本文要介绍的主题。 使用超出索引范围的值…

    python 2023年5月14日
    00
  • pandas 层次化索引的实现方法

    下面是关于“pandas层次化索引的实现方法”的完整攻略,包含以下内容: 一、什么是层次化索引 层次化索引(hierarchical indexing,也称为多级索引)是 pandas 中一项重要的功能。它使得我们可以在一个轴上拥有多个(两个以上)的索引级别。 以 DataFrame 为例,可以通过设置多个行或者列索引级别来获得层次化索引。这种方式下,每个轴…

    python 2023年5月14日
    00
  • 在Pandas-Python中获取该列的子串

    获取 DataFrame 中某一列的子串,在 Pandas 中可以通过 .str 属性来完成。这个属性能够对字符串类型的列进行向量化操作,例如 split、contains、replace 等。下面我们来详细说明如何在 Pandas-Python 中获取某一列的子串。 以以下示例数据集为例: import pandas as pd import numpy …

    python-answer 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部