是什么导致“AttributeError:‘numpy.ndarray’对象没有属性‘diff’”

sio*_*ger 5 python numpy python-3.x

我是 numpy 的新手,我不理解有关 diff 的文档。下面的代码抛出错误。我很困惑任何帮助将不胜感激。

Traceback (most recent call last):
   File "/home/dave/Desktop/mcmtest/testhv calc.py", line 11, in <module>
     r =  np.log(close_prices).diff()
 AttributeError: 'numpy.ndarray' object has no attribute 'diff'
Run Code Online (Sandbox Code Playgroud)

这是测试代码。

import numpy as np
from numpy import sqrt,mean,log,diff
import pandas as pd


close_prices = [178.97,175.5,171.07,171.85,172.43,172.99,167.37,164.34,162.71,\
                    156.41,155.15,159.54,163.03,156.49,160.5,167.78,167.43,166.97,167.96,171.51,171.11]

print (close_prices)

r =  np.log(close_prices).diff()
print(r)
Run Code Online (Sandbox Code Playgroud)

Mad*_*ist 4

鉴于这numpy.ndarray是“numpy 数组”的 Python 类型,错误只是说数组没有方法diffdiff是模块中定义的函数numpy

而不是np.log(close_prices).diff(), 做

np.diff(np.log(close_prices))
Run Code Online (Sandbox Code Playgroud)