numpy 的 complex128 转换

Tan*_*ath 4 python numpy scipy

我有一个 np.complex128 数字列表,但对于所有数字,复数部分都为零。如何提取数字的实部(这几乎是数字的唯一部分)?

另一方面,我想做 scipy 集成,但我不确定他们的集成方法是否可以处理具有 np.complex128 dtype 的 y 样本。

xnx*_*xnx 6

如果你的列表是一个 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.])
Run Code Online (Sandbox Code Playgroud)

如果您的列表是 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]
Run Code Online (Sandbox Code Playgroud)

你需要做的这个转换,如果你想融入一个函数返回一个np.complex128具有quadscipy.integrate.quad预计函数返回某种浮动。