【问题标题】:Trying to iterate np.random.normal over a list with a for loop尝试使用 for 循环在列表上迭代 np.random.normal
【发布时间】:2021-11-15 01:54:22
【问题描述】:

我正在尝试为列表中的每个值创建一个正态分布,并使用 for 循环作为其 6,000 个数字。 我的代码如下:

for x in data:
   r[x]=np.random.normal(data['value'],data['Standard Deviation'],100000)

我收到以下错误: ValueError:形状不匹配:无法将对象广播到单个形状

由于我的入门级 python 知识更多,我觉得这里可能缺少一些东西,并且真诚地感谢任何帮助。提前致谢!

【问题讨论】:

  • 你能用list(...)吗?

标签: python numpy loops normal-distribution


【解决方案1】:

假设data 是pandas 数据框,您可以尝试以下操作:

r = np.random.normal(data['value'], data['Standard Deviation'], (100000, len(data))).T

这将生成一个二维 numpy 数组,其中的每一行将包含从正态分布中抽取的 100000 个样本,其均值和标准差在 data 的相应行中给出。

【讨论】:

  • 这成功了!非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 2016-09-04
相关资源
最近更新 更多