python - 将两个 np.random.normal 分布数组与 for 循环相乘
问题描述
这是我上一个问题的扩展:我正在尝试为列表中的每个值创建一个正态分布,并使用 for 循环作为其 6,000 个数字。我的代码如下所示:
for x in data:
r[x]=np.random.normal(data['value'],data['Standard Deviation'],100000)
我收到以下错误:
ValueError:形状不匹配:无法将对象广播到单个形状
我将代码更改为 StackOverflow 建议:
r = np.random.normal(data['value'], data['Standard Deviation'], (100000, len(data))).T
哪个运行成功。我现在正在尝试对这个分布数组和数据框中的其他列进行一些算术运算:
for y in data:
y=(100000,len(data['value2']))
z= y*((1+r)**10)
并收到以下错误:操作数无法与形状(12,)(12,100000)一起广播
如果我获取每个数组的第一个值,代码运行良好:
z=y[0]*((1+r[0])**10)
但是如果我尝试在整个数组中运行它就不起作用。我的目标是获取 data['value2'] 并通过增长率 r 的正态分布数组来增长它。
感谢您的任何帮助!
解决方案
推荐阅读
- android - 如何构建 PackageInstaller 源代码?
- c# - 如何在长循环之前立即更新显示的文本框
- powershell - PowerShell 更新现有计划任务触发器开始日期和时间
- android - requestPermission:如何等到被授予?
- python - pythonic方法来识别列表中的第一个真实条件
- entity-framework - 使用部分 PK 关联导航属性
- r - 将列表转换为一组数据帧
- python - Flask 错误:“无法解码 JSON 对象”由于意外类型
- python - 对多个 RDF 文件的 SPARQL 查询
- ruby - Ruby /& 在字符串中