3

为什么 numpy.double 按元素应用于嵌套列表元素而 numpy.complex 不适用?

示例如下。

>>> import numpy
>>> L = [['1','2'],['2','3']]
>>> print numpy.double( L )
[[ 1.  2.]
 [ 2.  3.]]
>>> print numpy.complex( L )
Traceback (most recent call last):
  File "avr_std.py", line 17, in <module>
    print np.complex( L )
TypeError: complex() argument must be a string or a number
4

1 回答 1

3

np.float并且np.complex是通常的非矢量化 Python 版本:

>>> np.float is float
True
>>> np.complex is complex
True

它是numpy特定的可以处理非标量输入的:

>>> np.float_([1,2])
array([ 1.,  2.])
>>> np.double is np.float_
True
>>> np.complex_([1,2])
array([ 1.+0.j,  2.+0.j])
>>> np.float32([1,2])
array([ 1.,  2.], dtype=float32)
>>> np.complex192([1,2])
array([ 1.0+0.0j,  2.0+0.0j], dtype=complex192)

等等。

于 2013-11-09T02:35:39.780 回答