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

如何将数据集的相对频率保存为总和为1的列表?

数据集相对频率(总和为1)计算方案

你之前使用density=True得到的是概率密度,满足的是区间积分和为1,不符合离散频率和为1的需求,可根据使用场景选择以下两种实现:

  • 场景1:需要和直方图分箱规则对应,输出每个分箱的相对频率
import numpy as np

# 输入你的原始数据集
data = [3.481, 2.413, 4.682, ...]

# bins参数可根据你的直方图分箱需求调整,比如设为固定数值、自定义区间列表均可
counts, bin_edges = np.histogram(data, bins=10)

# 直接用分箱计数除以总样本数得到相对频率,总和为1
relative_freq = counts / counts.sum()

# 可验证求和结果
print(relative_freq.sum()) # 输出为1.0
  • 场景2:不需要分箱,需要输出每个唯一原始数值的对应出现频率
import numpy as np

data = [3.481, 2.413, 4.682, 2.413, 3.481, ...]

# 获取所有唯一值和对应出现次数
unique_vals, counts = np.unique(data, return_counts=True)

# 计算相对频率
val_relative_freq = counts / counts.sum()

# unique_vals中的每个元素和val_relative_freq中的元素按顺序一一对应
print(unique_vals)
print(val_relative_freq)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:27:02