python - For 循环错误:只能将 size-1 数组转换为 Python 标量
问题描述
for t in range(0,12):
x[t+1,:] = 100 + (0.7 + (0.4/(1 + math.exp(0.1*((x[t,:]- 99)**2)))))
我不断收到错误:TypeError:只有 size-1 数组可以转换为 Python 标量。我的 x 如下所示:
x = np.zeros((13,196))
x[0,:] = 106 * np.ones((1,196))
有人可以帮助如何摆脱这个错误吗?
所以一个 float64 大小(13,196),从第一行的值 106 开始。
解决方案
您得到 TypeError 是因为您在math.exp函数中传递了一个数组而不是传递单个值。此函数可用于单个值。您可以使用np.exp代替math.exp。
推荐阅读
- python-3.x - Azure 文件共享 - 递归目录搜索,如 os.walk
- javascript - 从 editableSelect() 获取值
- mysql - 将 MySQL 与另一个程序一起 Dockerize
- javascript - 如何更改 wamp 服务器中公用文件夹的根目录/路径
- c# - C# - 移动平均线
- javascript - 高阶函数:改变其他函数的函数。它是如何工作的?
- azure - 使用 Python SDK 生成 Azure 容器 SAS 令牌时出错
- r - 将值与 Arributes 分开
- css - 根据可用空间在网格/表格中反应日期时间选择器弹出自动定位
- c++ - 为什么我运行我的爬虫得到的 HTTP 响应数据不完整?