SciPy中的Itemfreq()引发错误“NotImplementedType”对象没有属性“flat”

2024-04-20 13:10:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下软件包,很遗憾我无法升级:

  • 数量:1.8.2
  • 压缩比:0.13.3

我需要计算numpy数组中一个字符串变量的频率,我想用SciPy方法itemfreq()。但是,我在运行它时遇到以下错误。如何解决?在

  File "my_script.py", line 29, in count_uniq
    freq = itemfreq(dat)
  File "/usr/lib/python2.7/dist-packages/scipy/stats/stats.py", line 1465, in itemfreq
    scores = _support.unique(a)
  File "/usr/lib/python2.7/dist-packages/scipy/stats/_support.py", line 50, in unique
    if np.add.reduce(np.equal(uniques,item).flat) == 0:
AttributeError: 'NotImplementedType' object has no attribute 'flat'

Tags: inpysupportlibpackagesusrdiststats
2条回答

我查看了源代码here,docstring报告了函数unique()(它是scipy.stats公司)对字符串不起作用。在

解决此问题的一种方法是将字符串映射到数值,然后重试。在

AttributeError: 'NotImplementedType' object has no attribute 'flat',我怀疑{}来自{}部分。在

uniques和{}的维数可能不一样。看起来item将是m形状,uniques将是n形状,结果应该是(m, n)形状。如果是这样,将其更改为item == np.array(list('uniques'))[...,np.newaxis]可能会解决问题。在

相关问题 更多 >