我有一个数据帧:
User Numbers
A 0
A 4
A 5
B 0
B 0
C 1
C 3
我想对每个相应的分组数据执行一个操作。例如,如果我想删除所有具有Number
0的Users
,它应该如下所示:
User Numbers
A 0
A 4
A 5
C 1
C 3
因为{}B的所有{}都是0
或者,例如,如果我想找到所有用户数量的方差,它应该如下所示:
Users Variance
A 7
B 0
C 2
这意味着仅计算A的Numbers
以查找A的方差,依此类推
是否有一种通用的方法来进行所有这些匹配分组数据的计算
Tags:
您需要两个不同的操作-filtration per groups和aggregation per groups
过滤:
为了获得更好的性能,最好使用^{} 作为布尔掩码,并使用^{} 进行过滤
步骤:
1.首先通过比较^{} 来创建布尔序列:
2.然后使用另一列的syntactic sugar-} 函数^{} 检查每个组的所有
groupby
和^{True
和transform
是否用于与原始DataFrame
大小相同的掩码:3.通过
~
反转boolen掩模:4.过滤器:
大数据帧中另一个较慢的解决方案,具有filter和与第一个解决方案相同的逻辑:
聚合:
对于通过一列和一个聚合函数进行更简单的聚合,例如^{} 使用:
相关问题 更多 >
编程相关推荐