numpy的complex128转换

时间:2015-08-03 18:59:16

标签: python numpy scipy

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

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

1 个答案:

答案 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期望函数返回某种浮点数。