gpt4 book ai didi

python - plt.hist - 计数的权重因子 0.0667

转载 作者:行者123 更新时间:2023-12-01 08:38:02 25 4
gpt4 key购买 nike

我已成功从 list x 创建直方图。

历史计数应乘以系数 0.0667。如果我使用 plt.hist 的权重函数,我会收到错误。

这是我已经尝试过的!

counts= plt.hist(x,bins=[0,0.01,0.02], weights=(x*0.06666), facecolor='grey')

我想这是一个非常简单的问题,但我是Python新手!

最佳答案

在Python中,你不能将一个列表与一个因子相乘(除非你使用numpy数组,这在这种情况下可能是最好的主意)。

尝试

x_weights = [i*0.06666 for i in x]
counts = plt.hist(x,bins=[0,0.01,0.02], weights=x_weights, facecolor='grey')

import numpy as np
counts= plt.hist(x,bins=[0,0.01,0.02], weights=np.asarray(x)*0.06666, facecolor='grey')

此外,您的权重看起来已经四舍五入了。您应该考虑将权重因子保存到局部变量,然后在绘制直方图时使用它

编辑:现在我(希望)意识到真正的问题,以下是如何处理数据:

Numpy 数组可以而且应该是多维的。如果您对 332 个输出进行 15 次模拟,那么自然会产生形状为 (15L, 332L) 的 2D 数组,这意味着您将获得一个具有 15 行和 332 列的矩阵。

第 1 步:

准备你的 numpy 数组:

x = np.zeros(shape=(15,332)) # this creates a 2D-matrix full of "0"

第 2 步:

将每个模拟的输出写入相应的行:

for i_run in range(15):
x[i_run,:] = # result of the simulation # i_run

第 3 步:

计算 15 次模拟运行的 332 个值的平均值:

x_mean = np.mean(x, axis=0)

axis=0 告诉 python 计算列的平均值。 axis=1 将返回行的平均值。

第 4 步:

现在您可以简单地绘制这些平均值的直方图:

counts = plt.hist(x_mean,bins=[0,0.01,0.02], facecolor='grey')

仍然让我困惑的是你所说的“计数”。对我来说“计数”是一个整数。我只能数“0, 1, 2, 3, 4, ...”,不能数“0, 0, 0, 0.11, 0.11, 0.15, ...”

关于python - plt.hist - 计数的权重因子 0.0667,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53633795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com