在pandas中,可以通过使用groupby
方法对数据进行分组,并对每个分组应用聚合函数。在聚合函数中,可以添加新的列到groupby
的结果中。
要在groupby
的结果中添加一个名为"count"的列,可以使用transform
方法结合count
函数来实现。transform
方法会将聚合函数的结果应用到每个分组,并返回与原始数据相同长度的结果。
下面是一个示例代码:
import pandas as pd
# 创建一个示例数据集
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的结果中添加一个名为"count"的列
df['count'] = df.groupby(['A', 'B'])['C'].transform('count')
print(df)
输出结果如下:
A B C count
0 foo one 1 2
1 bar one 2 1
2 foo two 3 3
3 bar two 4 2
4 foo two 5 3
5 bar one 6 1
6 foo two 7 3
7 foo one 8 2
在这个例子中,我们对列"A"和"B"进行了分组,并对每个分组中的列"C"应用了count
函数。然后,使用transform
方法将聚合函数的结果添加到原始数据中,形成了一个新的列"count"。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云