首页 > 后端开发 > Python教程 > 如何使用 Pandas Groupby 将 DataFrame 行分组到列表中?

如何使用 Pandas Groupby 将 DataFrame 行分组到列表中?

Mary-Kate Olsen
发布: 2024-12-17 09:38:24
原创
345 人浏览过

How Can I Group DataFrame Rows into Lists Using Pandas Groupby?

将 DataFrame 行分组为 Pandas GroupBy 中的列表

许多数据集包含跨行的冗余信息。为了提取有意义的见解,通常需要根据公共属性对行进行分组。这使得能够聚合和操作每个组内的数据。在本文中,我们将探讨如何在 Pandas groupby 中将数据帧行分组到列表中。

分组和聚合

考虑一个包含两列“a”和“b”的数据帧:

a b
A 1
A 2
B 5
B 5
B 4
C 6
登录后复制

目标是按第一列('a')对行进行分组,并在第二列中创建值列表每组的列('b')。所需的输出是:

A [1,2]
B [5,5,4]
C [6]
登录后复制

为了实现这一点,我们可以使用 Pandas 的 groupby 和 apply 函数。 groupby 函数按指定列对行进行分组,而 apply 函数允许我们对每个组执行操作。在本例中,我们将应用列表函数为每个组创建一个值列表。

df.groupby('a')['b'].apply(list)
登录后复制

此代码将返回一个包含每个组的值列表的 Series 对象:

a
A       [1, 2]
B    [5, 5, 4]
C          [6]
Name: b, dtype: object
登录后复制

创建一个新的数据框

要使用分组列表创建一个新的数据框,我们可以使用reset_index函数将Series对象转换为一个新的数据框并重命名包含列表的列:

df1 = df.groupby('a')['b'].apply(list).reset_index(name='new')
登录后复制

生成的数据框将如下所示:

   a        new
0  A     [1, 2]
1  B  [5, 5, 4]
2  C        [6]
登录后复制

以上是如何使用 Pandas Groupby 将 DataFrame 行分组到列表中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板