python - TypeError:在计算均值、差异和对数时,只能将大小为 1 的数组转换为 python 标量
问题描述
我目前正在使用 pandas、numpy 和 scipy 将 matlab 代码翻译成 python。我对matlab不是很了解,而且我没有上过线性代数或微分方程课程,所以这被证明是具有挑战性的。在执行某些计算时,python 会抛出“TypeError:只有 size-1 数组可以转换为 Python Scalars”错误。
我已经尝试使用 matlab 的参考表将 matlab 直接翻译成 python -> numpy 函数
以下是matlab中的行,以及我的python翻译
MATLAB:
handles.delta = mean(diff(log(1./handles.freq)));
Python:
self.delta = np.mean(np.diff(math.log(1/self.Frequency)))
我希望这些行应该做同样的事情,并且在 python self.Frequency 是一维 nparray,所有函数都应该返回数组,但是 python 抛出错误
解决方案
推荐阅读
- java - 在 javax.annotation.processing.Processor 中获取 VariableElement 的封闭类名
- dart - Dart,Flutter:将 .jpg 文件上传到 Google Drive
- laravel - 如何在 Laravel 查询生成器中使用 WITH 子句
- php - 如何根据该数据将数据从 php 发送到 R 脚本以进行某些预测?
- android - 无法显示从存储在 SQLite 数据库中的列表中提取的数据
- android - Android - 是什么决定了我的手机可以投射到哪些设备?
- android - Google 地图 API 未在 Google Play 服务中列出?如果它不存在,我能做什么来代替它?
- mysql - 如何通过检查两列值来获得每个组的最高值
- c# - C# 中是否有像 ConcurrentQueue 这样的数据结构,它允许我等待一个空队列,直到添加一个项目?
- php - PayPal 支付沙箱给出 AUTHORIZATION_ERROR