pandas - 使用 pandas 进行 groupby 后的唯一元素总数
问题描述
我想通过分组获得独特元素的总数
示例数据框:
df = pd.DataFrame({'A': ['x', 'x', 'x','x','y']
, 'B': ['a', 'c', 'c','b','e']
, 'C': ['1', '2', '2','3','4']})
A B C
0 x a 1
1 x c 2
2 x c 2
3 x b 3
4 y e 4
我在下面尝试过,但没有一个能给我预期的结果
df.groupby(['A', 'B']).count()
df.groupby(['A', 'B'])['A'].nunique()
df.groupby(['A', 'B']).agg({"B": "sum"})
预期输出 X:3(唯一值为 a、b、c) Y:1(唯一值为 e)
解决方案
按 A 分组,然后计算 B 的唯一值
df.groupby('A').B.nunique()
推荐阅读
- c# - 在游戏中每秒钟按下一个特定的键
- amazon-web-services - 识别 ElasticSearch 集群中使用的 EC2 实例
- cucumber - CucumberOptions 未在 java8 的 Runner 类中读取
- mysql - 如何在“SQLyog 社区版 - Mysql GUI”中添加检查约束?
- c# - WPF C# StreamWriter 不写入文件并且不引发异常
- react-native - 来自 redux 操作的 React Native 导航
- javascript - Jint.Parser.JavaScriptParser:区分顶级标识符
- python - 在python中选择单元格中的特定元素
- java - JAVA销毁JavaVM线程高CPU
- java - java - 如何检查令牌是否在java中过期?