admin

如何计算每个 bin,python 的总和和平均条?

python

如何计算每个 bin,python 的总和和平均条?


阅读 106

收藏
2023-05-19

共1个答案

admin

要计算每个bin的总和和平均值,可以使用NumPy或Pandas库中的函数。下面将介绍两种常用的方法:

方法一:使用NumPy库的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方法

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的总和和平均值。你可以根据自己的数据类型和需求选择合适的方法进行计算。

2023-05-19