如何在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日

相关文章

  • Python基础之pandas数据合并

    Python基础之pandas数据合并 Pandas是Python中常用的数据处理和分析库,它提供了丰富的数据结构和数据处理方法。当处理数据时,常常需要将多个数据集合并成一个,这时就需要使用pandas的数据合并功能。 数据合并的基本方法 Pandas中的数据合并主要有三种方法:concat、merge和join。 concat方法:用于在行或列的维度上合并…

    python 2023年5月14日
    00
  • 加入Pandas数据框架,通过子串匹配

    加入Pandas数据框架并进行子串匹配包括以下几个步骤: 导入Pandas库:在Python中使用Pandas进行数据处理时,需要先导入Pandas库。 import pandas as pd 创建数据框架:将数据读入Pandas数据框架中。可以从CSV或Excel文件中读入或直接手动创建。 # 从CSV文件中读入数据 df = pd.read_csv(‘d…

    python-answer 2023年3月27日
    00
  • Pandas直接读取sql脚本的方法

    当我们需要从SQL数据库(如MySQL,SQL Server等)中读取数据时,可以使用Python的Pandas库来实现。Pandas库提供了一种方便的方法来读取SQL查询结果并将其转换成DataFrame对象。下面是使用Pandas直接读取SQL脚本的方法: 步骤1:导入必要的库 我们首先需要导入两个库,分别是Pandas和SQLAlchemy。Panda…

    python 2023年5月14日
    00
  • 在Pandas的指定列上做一个梯度颜色映射

    在Pandas中进行梯度颜色映射的方法包含以下步骤: 加载数据,并确定需要做梯度颜色映射的列。通常我们需要使用Pandas库中的read_csv()函数来加载数据。例如,我们加载一个名为data.csv的数据集,并需要在“score”列上进行梯度颜色映射,可以使用以下代码: import pandas as pd # 加载数据集 df = pd.read_c…

    python-answer 2023年3月27日
    00
  • Python教程pandas数据分析去重复值

    以下是Python教程pandas数据分析去重复值的完整攻略。 pandas数据分析去重复值 Pandas数据框架简介 Pandas是一个Python库,提供数据分析功能。Pandas中最主要的数据结构是“DataFrame”,它是由多个列组成的二维表格。 在Pandas中,可以通过多种方式来创建DataFrame对象,比如从文件、从字典、从列表等等。一旦创…

    python 2023年5月14日
    00
  • Pandas内存管理

    Pandas是一个广泛应用于数据分析和处理的Python库,其内存管理是其高效性的一个重要组成部分。本文将详细讲解Pandas的内存管理机制。 Pandas对象 在Pandas中,常见的对象有DataFrame和Series。DataFrame类似于一个表格,Series类似于一个向量。这些对象中存储了具体的数据。与其它Python库相比,Pandas对象的…

    python-answer 2023年3月27日
    00
  • 使用SQLAlchemy将SQL数据库表读入Pandas DataFrame中

    使用SQLAlchemy将SQL数据库表读入Pandas DataFrame中主要分为以下三个步骤: 连接数据库 使用SQLAlchemy与数据库建立连接,获取数据库引擎。以MySQL为例,需要安装PyMySQL模块并进行相应的配置。代码示例如下: import sqlalchemy from sqlalchemy import create_engine …

    python-answer 2023年3月27日
    00
  • 对pandas的算术运算和数据对齐实例详解

    当我们在处理数据时,经常需要进行算术运算。Pandas提供了一些算术运算符,如加、减、乘等,并且还具有数据对齐的功能。在这篇文章中,我们将通过实例来详细讲解pandas的算术运算和数据对齐。 算术运算 Pandas支持所有基本的算术运算符,如加、减、乘、除、求余等,并且这些运算符可以与常量、Series和DataFrame相结合。 Series之间的算术运算…

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