Python-如何仅获取复数的实部

Python-如何仅获取复数的实部,python,numpy,Python,Numpy,我有以下代码片段,其中np.roots函数将提供两个复数和一个实数。我能够提取真正的根,但是输出总是复杂的。我怎样才能改成只有实数 Cd = 0.88 coeff = [1, -3, (3+Cd**2), (Cd**2 - 1)] roots = np.roots(coeff) X = (roots[np.isreal(roots)]); print (X) 输出通常是 [0.05944403+0.j] 但是,如何仅获取以下内容作为输出 0.059444 我寻找的原因是,我接下来的所有计算

我有以下代码片段,其中np.roots函数将提供两个复数和一个实数。我能够提取真正的根,但是输出总是复杂的。我怎样才能改成只有实数

Cd = 0.88
coeff = [1, -3, (3+Cd**2), (Cd**2 - 1)]
roots = np.roots(coeff)
X = (roots[np.isreal(roots)]);
print (X)
输出通常是

[0.05944403+0.j]
但是,如何仅获取以下内容作为输出

0.059444

我寻找的原因是,我接下来的所有计算都是复数。

可以使用.real来获得虚数的实部

import numpy as np
Cd = 0.88
coeff = [1, -3, (3+Cd**2), (Cd**2 - 1)]
roots = np.roots(coeff)
X = (roots[np.isreal(roots)]);
print (X)
print (X.real) # print(X.imag)

此外,python有.imag来获取虚数部分

您可以使用.real来获取虚数的实数部分

import numpy as np
Cd = 0.88
coeff = [1, -3, (3+Cd**2), (Cd**2 - 1)]
roots = np.roots(coeff)
X = (roots[np.isreal(roots)]);
print (X)
print (X.real) # print(X.imag)

另外,python有.imag来获取虚部

我认为您正在寻找
.real

Cd = 0.88
coeff = [1, -3, (3+Cd**2), (Cd**2 - 1)]
roots = np.roots(coeff)
X = (roots[np.isreal(roots)]);
print (X.real)

也可以考虑<代码> x.imaG/<代码>虚构部分。

我想你正在寻找<代码>。
Cd = 0.88
coeff = [1, -3, (3+Cd**2), (Cd**2 - 1)]
roots = np.roots(coeff)
X = (roots[np.isreal(roots)]);
print (X.real)

也可考虑虚部的代码> X.IMAG 。

<代码> NP.Reals似乎起作用。<代码> NP.Reals似乎起作用。