You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas如何筛选value_counts统计的低频率Series行

问题说明

已有的datecreated列日期频率统计代码:

autos['datecreated'].str[:10].value_counts(normalize=True, dropna=False)

原有筛选代码存在两个问题,无法得到预期结果:

  1. 列名拼写不一致:代码中混用了datecreated和datecrawled两个不同列名,筛选目标不匹配
  2. 逻辑错误:直接对value_counts()返回结果做< 0.0001判断,得到的是去重后日期维度的布尔序列,长度和原表行数不匹配,无法直接用于筛选原表行。
正确实现步骤
  1. 先计算目标列各日期值的占比,筛选出占比低于0.0001的日期集合
# 注意列名替换为你实际要筛选的列,此处以datecreated为例
date_freq = autos['datecreated'].str[:10].value_counts(normalize=True, dropna=False)
low_freq_dates = date_freq[date_freq < 0.0001].index
  1. 用日期集合匹配原表对应列,筛选出所有符合条件的行
# 提取目标行
low_freq_rows = autos[autos['datecreated'].str[:10].isin(low_freq_dates)]
注意事项
  • 操作前确认目标列名,不要出现拼写错误,避免误操作其他列
  • value_counts()设置dropna=False后,空值的占比也会被纳入统计,占比低于阈值的空值对应的行也会被正常筛选出来,无需额外处理空值逻辑
  • 不要直接将value_counts() < 0.0001的布尔结果传入原表方括号筛选,二者长度不匹配会触发索引报错。

内容的提问来源于stack exchange,提问作者davidfunction

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 13:12:32