首页 > 解决方案 > 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 抛出错误

标签: pythonmatlabnumpyscipy

解决方案


推荐阅读