如何用Pandas统计列唯一值频率并排除计数942的0.0行
解决方法:排除0.0的唯一值频率统计
有两种简单实用的方式可以实现你想要的效果,按需选择即可:
方法1:先过滤原数据再统计(更高效)
如果你的原始DataFrame是df,可以先筛选出WASHING CONTAINER AGENT列不等于0.0的行,再执行分组统计操作。这种方式在数据量较大时更高效,因为它从源头就排除了不需要的记录:
df[df['WASHING CONTAINER AGENT'] != 0.0].groupby('WASHING CONTAINER AGENT').size()
方法2:对已生成的统计结果过滤
如果你已经得到了最初的统计结果,也可以直接对结果进行布尔索引过滤,去掉0.0对应的行:
# 先保存原统计结果 counts = df.groupby('WASHING CONTAINER AGENT').size() # 过滤掉索引为0.0的行 filtered_counts = counts[counts.index != 0.0] print(filtered_counts)
执行后会得到你想要的输出:
12.0 20
20.0 8
dtype: int64
两种方法都能达成目标,优先推荐方法1,它能减少不必要的计算步骤~
内容的提问来源于stack exchange,提问作者okl
相关产品推荐
相关产品推荐

