Python numpy 1.9.1中的数据类型是否已损坏?

Python numpy 1.9.1中的数据类型是否已损坏?,python,numpy,matplotlib,Python,Numpy,Matplotlib,在最近更新了我的各种python软件包(我现在用numpy 1.9.1和matplotlib 1.4.3运行Python2.7.9)之后,我自己的一些程序似乎被破坏了。我在几个地方使用mlab记录数组操作,并且不断出现“数据类型不可理解”类型的错误。似乎csv2rec函数现在以unicode而不是ASCII形式返回记录名,这会导致mlab例程出现问题。我将问题追溯到numpy.dtype函数,在该函数中,操作 np.dtype([(u'a',np.float),(u'b',np.float)])

在最近更新了我的各种python软件包(我现在用numpy 1.9.1和matplotlib 1.4.3运行Python2.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

你能在matplotlib中加入一个PR吗?问题是,我们在1.4.0中改用unicode文本。在这一点上,这实际上不是一个修复,而是一个肮脏的黑客行为。这个问题似乎也会在其他地方引起问题(例如,生成mrecord视图),因此我不确定这是否需要在matplotlib中解决,或者更确切地说是在numpy级别解决。但是我在这里缺乏正确解决这个问题的洞察力。如果不是公关,那就是一个问题,这样它就不会丢失。好的,我会这么做。谢谢我刚刚看到numpy社区正在讨论这个话题: