假设我们有以下数据:
A | B | C |
---|---|---|
foo | one | 1 |
bar | one | 2 |
foo | two | 3 |
bar | three | 4 |
foo | two | 5 |
bar | two | 6 |
我们想按列 B 对数据进行分组,并计算列 A 和 C 的不同值的数量。可以使用以下 Pandas 代码来完成:
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 按列 B 进行分组,并计算列 A 和 C 的不同值的数量
result = df.groupby('B').agg({'A': pd.Series.nunique, 'C': pd.Series.nunique})
# 输出结果
print(result)
该代码以列 B 作为分组条件,对数据进行分组,并使用 agg 函数计算不同列 A 和 C 的值的数量。最终输出结果如下:
A C
B
one 2 2
three 1 1
two 2 3
其中,列 A 和 C 为不同值的数量。
上一篇:按分组计算不同列的值的频率
下一篇:按分组计算两个数据帧差异的标准差