我有一个np.complex128数字列表但是对于所有数字,复数部分等于零。如何提取数字的实部(这几乎是数字的唯一部分)?
作为一个方面没有,我想做scipy集成,但我不确定他们的集成方法是否可以处理dtype为np.complex128的y样本。
答案 0 :(得分:3)
如果您的列表是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]
如果要集成一个返回np.complex128
quad
的函数,则需要执行此转换:scipy.integrate.quad
期望函数返回某种浮点数。