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

Python中使用numpy.histogram时如何控制bin的大小

numpy控制直方图分箱的方法

np.histogram 直接通过内置的bins参数即可实现分箱大小、数量、规则的自定义,你当前用的默认配置是生成10个等宽分箱,常见的控制方式如下:

  • 指定固定分箱数量
    直接给bins传入整数即可,比如要生成20个等宽分箱,代码修改为:
    # 注意:np.histogram第二个返回值是分箱边界数组,长度为分箱数+1,不是直接返回宽度
    bin_heights, bin_edges = np.histogram(get_pdf, density=True, bins=20)
    # 如需计算每个分箱的宽度,可调用np.diff处理边界数组
    bin_widths = np.diff(bin_edges)
    
  • 指定固定分箱宽度
    先基于你需要的宽度生成自定义分箱边界数组,再传入bins参数即可,比如要设置每个分箱宽度为0.5,示例代码:
    target_bin_width = 0.5
    # 基于数据的最大最小值自动生成边界,最后加一个步长是为了包含最大值
    custom_bins = np.arange(get_pdf.min(), get_pdf.max() + target_bin_width, target_bin_width)
    bin_heights, bin_edges = np.histogram(get_pdf, density=True, bins=custom_bins)
    
  • 使用内置自动分箱策略
    你也可以给bins传入内置规则字符串,numpy会根据数据分布自动计算最优分箱规则,常用的规则包括:
    • 'auto':自动选择最合适的策略
    • 'fd':Freedman-Diaconis规则,对异常值鲁棒性好
    • 'scott':斯科特规则,适合正态分布数据
      示例:
    bin_heights, bin_edges = np.histogram(get_pdf, density=True, bins='fd')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:45:06