python - 给定 scipy.stats.binned_statistic 函数......如何使用不同大小的垃圾箱?
问题描述
如果这个问题存在并得到澄清,我深表歉意(我已经搜索过,最终我没有找到答案)。
所以,我有一个整数数组 a = [1,2,2,2,3,4] 并且我想使用 bins = [0,1.5) 获取每个间隔的统计信息(在这种情况下是平均值);[1.5,2.5) ; [2.5,5)。
如您所见,没有相同长度的间隔。我尝试这样做:
from scipy.stats import binned_statistic
data = [1,2,2,2,3,4]
bin_means = binned_statistic(data, data, bins=3, range=(0, 5))
在“bin_means”中存储以下内容:
BinnedStatisticResult(statistic=array([1. , 2.25, 4. ]), bin_edges=array([0. , 1.66666667, 3.33333333, 5. ]), binnumber=array([1, 2, 2, 2, 2, 3], dtype=int32))
我明白了什么?垃圾箱是: [0,1.66..7) ;[1.66..7,3.33..);[3.33...,5) 不是我想要的间隔。
我不想要这些相同长度的间隔。有人可以解释我该怎么做吗?另外有人可以解释一下 stats.binned_statics 的两个主要参数(“x”和“values”)吗?这会很有用。提前致谢。
解决方案
基本上,正如您在文档中看到的那样,bin可以是表示 bin 边缘的标量列表。
所以你可以使用:
bin_means = binned_statistic(data, data, bins=[0, 1.5, 2.5, 5], range=(0, 5))
关于values参数 - 它旨在允许您对数据进行分类,但计算与每个数据点相关的另一个度量(或多个度量)的统计信息。例如,您可以按身高对人进行分类,但使用这些分类计算他们体重的平均统计数据。
推荐阅读
- python - 如何使用 json 模块将 python 对象转换为 (json) 嵌套字典,而不创建类似文件的对象?
- python - 如何为熊猫数据框中缺失的索引添加新行?
- apache-spark - 是否可以通过 spark 直接将 Writestream 用于 API
- php - Laravel 'can' 中间件返回错误 500 “此操作未经授权”
- algorithm - 将 2D 点聚类为边界框分解的算法
- sql-server - xp_cmdshell 查询输出上的文件类型
- c# - 如何使用 StreamWriter 将 DateTimeOffset 写入文件
- pandas - 在熊猫的每个组的开头插入多个日期
- html - 如何使引导文本框居中
- html - 如何在边距定位中使用百分比来创建 Bowser、设备和屏幕宽度兼容性?