numpy 的 complex128 转换
numpy's complex128 conversion
我有一个 np.complex128 数字列表,但对于所有数字,复数部分都等于零。如何提取数字的实数部分(这几乎是数字的唯一部分)?
另一方面,我想做 scipy 集成,但我不确定他们的集成方法是否可以处理 dtype 为 np.complex128 的 y 个样本。
如果你的列表是一个 NumPy 数组,你可以简单地引用它的 real
属性:
In [59]: a = np.array([1+0j, 2+0j, -1+0j])
In [60]: a
Out[60]: array([ 1.+0.j, 2.+0.j, -1.+0.j])
In [61]: a.real
Out[61]: array([ 1., 2., -1.])
如果您的列表是 Python list
,也许以下列表理解是获得您想要的真实部分的最简单方法:
In [64]: l
Out[64]: [(1+0j), (2+0j), (-1+0j)]
In [67]: [c.real for c in l]
Out[67]: [1.0, 2.0, -1.0]
如果您想将 return 函数 np.complex128
与 quad
集成,则需要进行此转换:scipy.integrate.quad
期望函数为 return 某种浮动。
我有一个 np.complex128 数字列表,但对于所有数字,复数部分都等于零。如何提取数字的实数部分(这几乎是数字的唯一部分)?
另一方面,我想做 scipy 集成,但我不确定他们的集成方法是否可以处理 dtype 为 np.complex128 的 y 个样本。
如果你的列表是一个 NumPy 数组,你可以简单地引用它的 real
属性:
In [59]: a = np.array([1+0j, 2+0j, -1+0j])
In [60]: a
Out[60]: array([ 1.+0.j, 2.+0.j, -1.+0.j])
In [61]: a.real
Out[61]: array([ 1., 2., -1.])
如果您的列表是 Python list
,也许以下列表理解是获得您想要的真实部分的最简单方法:
In [64]: l
Out[64]: [(1+0j), (2+0j), (-1+0j)]
In [67]: [c.real for c in l]
Out[67]: [1.0, 2.0, -1.0]
如果您想将 return 函数 np.complex128
与 quad
集成,则需要进行此转换:scipy.integrate.quad
期望函数为 return 某种浮动。