我有以下软件包,我很遗憾无法升级:
我需要计算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'
答案 0 :(得分:3)
我看了一下源代码here,docstring报告函数unique()
(scipy.stats的一部分)对带字符串的数组不起作用。
解决此问题的一种方法是将字符串映射到数值,然后重试。
答案 1 :(得分:0)
从NotImplemented
开始,我怀疑np.equal(uniques,item)
来自uniques
部分。
item
和item
的维度可能不一样。看起来m
的形状为n
,独特的形状为(m, n)
,结果应为item == np.array(list('uniques'))[...,np.newaxis]
形状。如果是这样,将其更改为public class HideHintEditText extends EditText {
CharSequence hint;
public HideHintEditText(Context context) {
super(context);
hint = this.getHint();
}
public HideHintEditText(Context context, AttributeSet attrs) {
super(context, attrs);
hint = this.getHint();
}
public HideHintEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
hint = this.getHint();
}
@Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
super.onFocusChanged(focused, direction, previouslyFocusedRect);
this.setHint(focused ? "" : hint);
}
}
可能会解决问题。