问题描述
我有超过 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)