在最近更新了我的各种python包之后(我现在用numpy 1.9.1和matplotlib 1.4.3运行python 2.7.9)我的一些程序似乎被打破了。我在几个地方使用mlab记录数组操作,我不断收到“数据类型不理解”类型的错误。好像csv2rec
函数现在将记录名称作为unicode而不是ASCII返回,这会导致mlab例程出现问题。我将问题追溯到numpy.dtype
函数,其中显示操作
np.dtype([(u'a',np.float),(u'b',np.float)])
生成错误
np.dtype({'names':[u'a',u'b'],'formats':[np.float,np.float]})
工作正常。
现在我用mlab.py中的np.dtype
替换了一个使用上面第二种形式的包装函数,但我不认为这是一个非常可持续的解决方案。在numpy
为什么会出现这个问题以及为什么现在的字段名称现在都是unicode?