如何在Pandas Groupby中把数据框架的行分组到列表中

Pandas中的Groupby操作,可以把数据框架中的行或者列分组,然后对分组后的数据进行聚合,统计分析等操作。但是,在实际的应用场景中,有时候需要把分组后的数据框架中的行分别保存到一个列表中。下面是针对这个需求的详细讲解。

首先,我们可以通过Pandas中的Groupby函数对数据进行分组。例如,下面的例子中我们按照“B”列的值进行分组。

import pandas as pd 

df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
                   'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
                   'C': [1, 2, 3, 4, 5, 6, 7, 8],
                   'D': [9, 10, 11, 12, 13, 14, 15, 16]})

grouped = df.groupby('B')

接下来,我们可以使用apply函数来对分组后的数据进行操作。apply函数接受一个自定义的函数作为参数,在这个函数中,我们可以对每个分组进行操作并返回一个结果。例如,下面的例子中,我们定义了一个函数,把分组后的数据框架的行保存到一个列表中。

def group_to_list(df):
    return df.values.tolist()

grouped.apply(group_to_list)

这样,就可以把分组后的数据框架中的行保存到一个列表中了。注意,这里的结果是一个序列,序列中的每个元素都是一个列表。

完整代码如下:

import pandas as pd 

df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
                   'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
                   'C': [1, 2, 3, 4, 5, 6, 7, 8],
                   'D': [9, 10, 11, 12, 13, 14, 15, 16]})

grouped = df.groupby('B')

def group_to_list(df):
    return df.values.tolist()

grouped.apply(group_to_list)

结果为:

B
one      [[foo, one, 1, 9], [bar, one, 2, 10], [foo, one, ...
three        [[bar, three, 4, 12], [foo, three, 8, 16]]
two      [[foo, two, 3, 11], [foo, two, 5, 13], [bar, tw...
dtype: object

其中,每个元素都是一个列表,这个列表中保存了每个行的信息。例如,第一个元素是:

[[foo, one, 1, 9], [bar, one, 2, 10], [foo, one, 7, 15]]

这个列表中保存了所有B列的值为“one”的行的信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Pandas Groupby中把数据框架的行分组到列表中 - Python技术站

(1)
上一篇 2023年3月27日
下一篇 2023年3月27日

相关文章

  • Windows下PyTorch开发环境安装教程

    安装Python 在Windows上,首先需要安装Python环境,可以去Python官网(https://www.python.org/downloads/)下载最新的Python安装包,推荐下载Python3.x(3.6及以上版本)。 选择相应的版本下载后,双击运行,按照提示进行安装。 安装PyTorch 推荐使用pip安装PyTorch,打开Windo…

    python 2023年5月14日
    00
  • Python批量将csv文件编码方式转换为UTF-8的实战记录

    下面详细讲解“Python批量将csv文件编码方式转换为UTF-8的实战记录”的完整攻略: 前言 CSV是一种常用的数据格式,但是在国际化应用中使用时,常常需要将CSV文件编码为UTF-8,以便更好地在不同操作系统和编程语言之间共享。本文介绍了使用Python批量将CSV文件编码方式转换为UTF-8的实际操作过程。 准备 在开始转换之前,我们需要安装Pyth…

    python 2023年5月14日
    00
  • pandas中df.groupby()方法深入讲解

    接下来我将为您详细讲解“pandas中df.groupby()方法深入讲解”的完整攻略。 介绍 在pandas中,groupby()方法是对数据进行分组分析的重要方法之一。通过groupby()方法,我们可以将数据按照指定的条件进行分组,对每个分组进行聚合操作,最终返回一个新的数据集合。 groupby()的语法格式 groupby()方法的语法格式如下所示…

    python 2023年5月14日
    00
  • 在Pandas DataFrame中应用if条件的方法

    当我们需要根据某种条件在Pandas DataFrame中对数据进行筛选或修改时,可以使用if条件来实现。 以下是在Pandas DataFrame中使用if条件的方法及示例: 方法一:使用DataFrame的apply函数 我们可以使用apply函数,将自定义的lambda函数应用到每个元素上,然后返回一个新的DataFrame。在该lambda函数中,我…

    python-answer 2023年3月27日
    00
  • Pandas 读写sqlite数据库

    下面是Pandas读写sqlite数据库的详细攻略,包含实例说明。 1. 读取Sqlite数据库 读取Sqlite数据库的主要方式是使用pandas库中的read_sql_query()函数,该函数可以直接执行SQL查询并返回结果作为DataFrame对象。下面是读取Sqlite数据库的基本步骤: 首先需要导入pandas和sqlite3库。 import …

    python-answer 2023年3月27日
    00
  • pyinstaller使用大全

    PyInstaller 使用大全 PyInstaller 是一个非常流行的 Python 打包工具,它可以将 Python 代码和其依赖的库打包成一个可执行文件,方便我们在其他不具备 Python 环境的机器上运行程序。本文将对 PyInstaller 的基本使用方法进行详细介绍,包括安装 PyInstaller、使用 PyInstaller 打包程序、解决…

    python 2023年5月14日
    00
  • Pandas之缺失数据的实现

    当我们在进行数据分析或处理时,经常会遇到许多缺失值的情况。如何处理这些缺失值,成为了数据分析中不可忽略的一部分。Pandas是一个非常强大的数据分析工具,它提供了许多简单易操作的函数来处理缺失数据的情况。 Pandas中缺失数据的处理方式 Pandas中常用的处理缺失数据的方式有三种:删除、填充和插值。 删除法 删除掉包含空值的行或列是一种常用的方法。删除掉…

    python 2023年5月14日
    00
  • 解决使用pandas聚类时的小坑

    针对“解决使用pandas聚类时的小坑”的问题,我给出以下完整攻略: 1. 读取数据 首先需要读取需要聚类的数据。可以使用Pandas库提供的read方法读取CSV、Excel、SQL、HTML等不同格式的数据。 例如,我们可以使用以下代码读取CSV文件: import pandas as pd df = pd.read_csv(‘data.csv’) 2.…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部