假设我们有一个名为df的数据框,其中包含以下列:A, B, C和D。我们想要按A, B和C列分组,并计算D列的唯一值计数。可以使用pandas库中的groupby()方法来实现。
代码示例:
import pandas as pd
# 创建样例数据
data = {'A':['a', 'a', 'b', 'b', 'b'],
'B':['x', 'y', 'y', 'x', 'y'],
'C':[1, 2, 2, 1, 1],
'D':['foo', 'bar', 'foo', 'bar', 'baz']}
df = pd.DataFrame(data)
# 按 A, B 和 C列分组,并计算D列的唯一值计数
df.groupby(['A', 'B', 'C'])['D'].nunique()
输出结果为:
A B C
a x 1 1
y 2 1
b x 1 1
y 2 2
z 1 1
Name: D, dtype: int64
这个方法的核心是groupby()方法,它接受一个由要分组的列名组成的列表作为参数,并返回一个GroupBy对象。我们还使用nunique()方法来计算唯一值的数量。
上一篇:按多列分组并根据列值提取前x行