提取NumPy复数数组的实部和虚部,可以使用NumPy库提供的两个方法real和imag。在调用这两个方法之前,需要先将复数数组转换成NumPy的复数类型。
下面是完整的步骤:
- 导入NumPy库
import numpy as np
- 创建一个复数数组
z = np.array([1 + 2j, 3 + 4j, 5 + 6j])
- 将数组转换成NumPy中的复数类型
z = z.astype(np.complex128)
- 提取实部和虚部
real_part = z.real
imag_part = z.imag
完整的示例:
import numpy as np
# 创建一个复数数组
z = np.array([1 + 2j, 3 + 4j, 5 + 6j])
# 将数组转换成NumPy中的复数类型
z = z.astype(np.complex128)
# 提取实部和虚部
real_part = z.real
imag_part = z.imag
print("实部:", real_part) # [1. 3. 5.]
print("虚部:", imag_part) # [2. 4. 6.]
另一个示例:
import numpy as np
# 创建一个包含实数和虚数的数组
z = np.array([1, 2j, 3 + 4j, 5, 6j])
# 将数组转换成NumPy中的复数类型
z = z.astype(np.complex128)
# 提取实部和虚部
real_part = z.real
imag_part = z.imag
print("实部:", real_part) # [1. 0. 3. 5. 0.]
print("虚部:", imag_part) # [0. 2. 4. 0. 6.]
在这个示例中,我们创建了一个包含实数和虚数的数组,并将其转换成了NumPy中的复数类型。然后我们可以使用real和imag方法提取实部和虚部,结果分别为[1 0 3 5 0]和[0 2 4 0 6]。可以注意到,在实数位置上,虚部被默认为0。