首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何根据groupby操作生成的组获取pandas DataFrame的组id值的列

在pandas中,可以使用groupby操作对DataFrame进行分组,并生成一个GroupBy对象。要获取每个组的组ID值的列,可以使用ngroup()方法。

ngroup()方法返回一个表示每个组的整数值的Series,这些整数值对应于每个组的组ID。它可以作为DataFrame的新列添加到原始数据中。

以下是一个示例代码:

代码语言:txt
复制
import pandas as pd

# 创建一个示例DataFrame
data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
        'B': ['one', 'one', 'two', 'two', 'two', 'one', 'two', 'one'],
        'C': [1, 2, 3, 4, 5, 6, 7, 8]}
df = pd.DataFrame(data)

# 使用groupby操作分组,并获取组ID值的列
df['group_id'] = df.groupby(['A', 'B']).ngroup()

print(df)

输出结果如下:

代码语言:txt
复制
     A    B  C  group_id
0  foo  one  1         0
1  bar  one  2         1
2  foo  two  3         2
3  bar  two  4         3
4  foo  two  5         2
5  bar  one  6         1
6  foo  two  7         2
7  foo  one  8         0

在上述示例中,我们首先创建了一个包含'A'、'B'和'C'列的DataFrame。然后,我们使用groupby(['A', 'B'])对DataFrame进行分组。接下来,使用ngroup()方法获取每个组的组ID值,并将其赋值给新的列'group_id'。最后,打印输出DataFrame。

这样,我们就成功根据groupby操作生成的组获取了pandas DataFrame的组ID值的列。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券