如何计算每个 bin,python 的总和和平均条?
要计算每个bin的总和和平均值,可以使用NumPy或Pandas库中的函数。下面将介绍两种常用的方法:
方法一:使用NumPy库的histogram函数和数组的统计函数
histogram
import numpy as np # 创建示例数据 data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) bins = np.array([0, 3, 6, 10]) # bin的边界 # 计算直方图 hist, _ = np.histogram(data, bins) # 计算每个bin的总和和平均值 bin_sums = np.bincount(np.digitize(data, bins), weights=data) bin_means = bin_sums / hist print("每个bin的总和:", bin_sums) print("每个bin的平均值:", bin_means)
方法二:使用Pandas库的cut函数和DataFrame的groupby方法
cut
groupby
import pandas as pd # 创建示例数据 data = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) bins = [0, 3, 6, 10] # bin的边界 # 将数据分组到不同的bin中 groups = pd.cut(data, bins=bins) # 计算每个bin的总和和平均值 bin_sums = data.groupby(groups).sum() bin_means = data.groupby(groups).mean() print("每个bin的总和:") print(bin_sums) print("\n每个bin的平均值:") print(bin_means)
这两种方法都可以计算每个bin的总和和平均值。你可以根据自己的数据类型和需求选择合适的方法进行计算。