Tan*_*ath 4 python numpy scipy
我有一个 np.complex128 数字列表,但对于所有数字,复数部分都为零。如何提取数字的实部(这几乎是数字的唯一部分)?
另一方面,我想做 scipy 集成,但我不确定他们的集成方法是否可以处理具有 np.complex128 dtype 的 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.])
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具有quad:scipy.integrate.quad预计函数返回某种浮动。