python - 是什么导致 "AttributeError: ' numpy.ndarray' 对象没有属性 'diff' “

标签 python python-3.x numpy

我是 numpy 的新手,我不了解有关差异的文档。下面的代码会引发错误。我很困惑任何帮助将不胜感激。

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'

这是测试代码。
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)

最佳答案

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

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

np.diff(np.log(close_prices))

关于python - 是什么导致 "AttributeError: ' numpy.ndarray' 对象没有属性 'diff' “,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49162498/

相关文章:

python - 如何使用 python 解码 SSL 证书?

python - Pandas 的前一组均值变化

python - 如何删除最后打印的字符? python 3

python - 为现有项目创建 "virtualenv"

python - 使用矢量化查找连续元素的最大数量

python - 如何检索使用 minidom 创建的 xml?

python - Django UUID 字段抛出 IntegrityError

python - 是否可以在没有任何标志的情况下使用 argparse ?

python - numpy:为什么数组乘法是可交换的?

python - 使用 numpy 进行奇怪的索引