在 Python 中拟合数值数据

问题描述

我有超过 100,000 个数字需要用 Python 分析。本示例中给出了其中的一部分:84.49,60.885,33.6,6.4,89.361,5.6,39.828。

此样本的总和为 320.164,我想进行缩放,以便新数字加起来为 500 并绘制这些值。

我之前将我想要的总和 (500) 除以旧的总和 (320.164) 并乘以每个值。 0 值保持为 0,因为 0 不能“缩放”。有没有办法在 Python 中做到这一点?是否可以绘制新的直方图/分布? 你能举几个例子吗?

解决方法

你可以这样做:

import numpy as np
import matplotlib.pyplot  as plt
numbers = [84.49,60.885,33.6,6.4,89.361,5.6,39.828]
current_sum = np.sum(numbers)
desired_sum = 500

new_numbers = [desired_sum/current_sum * x for x in numbers]
plt.hist(new_numbers)