Python:缓冲区dtype不匹配,预期'intp_t'但得到'long'

时间:2017-05-15 17:21:34

标签: python arrays numpy types scipy

import numpy as np
from fastkde import fastKDE
import pylab as PP

#Generate two random variables dataset (representing 100000 pairs of datapoints)
N = 2 * 10**5
var1 = np.array(50*np.random.normal(size=N) + 0.1)
var2 = np.array(0.01*np.random.normal(size=N) - 300)

#Do the self-consistent density estimate
myPDF,axes = fastKDE.pdf(var1,var2)

我收到此错误

 ValueError: inputArray does not appear to be array like.  Error was: Buffer dtype mismatch, expected 'intp_t' but got 'long' 

什么是intp_t数据类型?我该如何纠正这个???我是Python的新手。

附加的行号等是我的jupyter笔记本的2页输出: Jupyter notebook output:

1 个答案:

答案 0 :(得分:0)

要调试此问题,您必须首先检查您在笔记本中使用的版本中安装的版本。

  1. 自更新后你重启了笔记本吗?如果不是仍然使用旧版本。
  2. 使用print(fastKDE.__version__)验证您使用的是最新版本。点子列表" 1.0.11"但是fastKDE.__version__实际上返回" 1.12.0rc2"。
  3. 我的版本不是最新版本,用import sys ; print(sys.executable)检查笔记本中的解释器是什么。这将返回"适当的"蟒蛇。如果它与pip使用的Python不同(请查看python3 -c 'import pip; print(pip.sys.executable)'更新帖子以了解如何继续。
  4. 如果您实际使用的是最新的fastkde并且仍然存在错误(我不会将其与您的代码一起使用),请与该软件包的作者联系以获取更多信息。