将 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中文网其他相关文章!