首页 >后端开发 >Python教程 >如何使用 Groupby 根据列值将 Pandas DataFrame 拆分为多个 DataFrame?

如何使用 Groupby 根据列值将 Pandas DataFrame 拆分为多个 DataFrame?

Patricia Arquette
Patricia Arquette原创
2024-12-27 15:34:101006浏览

How to Split a Pandas DataFrame into Multiple DataFrames Based on Column Values Using Groupby?

使用 Groupby 根据列值拆分 Pandas 数据框

在 Python 中,可以根据列值将 Pandas 数据框拆分为多个数据框特定列中的值。此技术通常用于为列中的每个唯一类别或组创建单独的数据框。

例如,考虑以下带有名为“ZZ”的列的数据框:

df = 
        N0_YLDF  ZZ        MAT
    0  6.286333   2  11.669069
    1  6.317000   6  11.669069
    2  6.324889   6  11.516454
    3  6.320667   5  11.516454
    4  6.325556   5  11.516454
    5  6.359000   6  11.516454
    6  6.359000   6  11.516454
    7  6.361111   7  11.516454
    8  6.360778   7  11.516454
    9  6.361111   6  11.516454

目标是将此数据帧拆分为四个新数据帧,每个数据帧包含“ZZ”具有特定值的行:2、5、6 和 7。为了实现这一目标,我们可以利用 Pandas 的“groupby”函数。

gb = df.groupby('ZZ')    
[gb.get_group(x) for x in gb.groups]

“groupby”函数创建一个 GroupBy 对象,该对象根据指定列中的值(本例中为“ZZ”)对数据帧行进行分组。 “ZZ”的每个唯一值都成为 GroupBy 对象中的一个组。

后续行使用列表理解来迭代组并将每个组作为单独的数据帧检索。使用每个组的名称(即“ZZ”的唯一值)调用“get_group”方法来提取相应的数据帧。

因此,此代码生成四个新的数据帧,每个数据帧代表在“ZZ”列中共享相同值的原始数据帧行。

以上是如何使用 Groupby 根据列值将 Pandas DataFrame 拆分为多个 DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn