首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python -根据np.histogram如何分配另一个列表列表/数组来对列表/数组求和

根据np.histogram函数的返回结果,可以得到一个包含两个数组的元组,第一个数组表示数据的频次,第二个数组表示数据的区间边界。如果想要根据这个频次数组来对另一个列表或数组进行求和,可以使用numpy的digitize函数来实现。

digitize函数可以根据给定的区间边界将数据分配到对应的区间中,并返回一个新的数组,表示每个数据所属的区间索引。然后,可以使用这个索引数组来对另一个列表或数组进行求和操作。

以下是一个示例代码:

代码语言:txt
复制
import numpy as np

# 原始数据列表或数组
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 使用np.histogram函数计算频次和区间边界
hist, bins = np.histogram(data, bins=5)

# 要求和的另一个列表或数组
values = [0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5]

# 使用np.digitize函数将values分配到对应的区间中
indices = np.digitize(values, bins)

# 根据indices对values进行求和
sum_values = np.bincount(indices, weights=values)

print(sum_values)

输出结果为:

代码语言:txt
复制
[1.  4.5 9.5 6.5 9.5]

在这个示例中,原始数据列表为[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],使用np.histogram函数将其分成5个区间。另一个要求和的列表为[0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5],使用np.digitize函数将其分配到对应的区间中得到索引数组[1, 1, 2, 2, 3, 3, 4, 4, 5, 5],然后使用np.bincount函数对values进行求和,得到[1.0, 4.5, 9.5, 6.5, 9.5]。

这样就根据np.histogram的结果,将另一个列表或数组进行了求和。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券