📅  最后修改于: 2023-12-03 15:19:25.811000             🧑  作者: Mango
numpy.iscomplex()
是一个用于判断一个数或者矩阵是否为复数类型的函数。
numpy.iscomplex(x)
参数说明:
x
:输入的数或矩阵。返回值说明:
x
是复数类型,返回 True
。x
不是复数类型,返回 False
。import numpy as np
# 输入为实数
a = np.array([1, 2, 3])
print(np.iscomplex(a)) # 输出 False
# 输入为复数
b = np.array([1+2j, 2+3j, 3+4j])
print(np.iscomplex(b)) # 输出 True
# 输入为矩阵
c = np.array([[1, 2-3j], [4+5j, 6]])
print(np.iscomplex(c)) # 输出 True
numpy.iscomplex()
可以与其他函数结合使用,例如 numpy.where()
,用于对复数和实数进行不同的处理:
import numpy as np
a = np.array([1, 2+3j, 4, 5+6j])
# 处理实数部分
mask1 = np.iscomplex(a)
real_part = np.where(mask1, a.real, a)
# 处理虚数部分
mask2 = np.logical_not(mask1)
imag_part = np.where(mask2, a.imag, 0)
print(real_part) # 输出 [1, 2.0, 4, 5.0]
print(imag_part) # 输出 [0, 3.0, 0, 6.0]
以上示例中,mask1
用于判断 a
中的元素是否为复数,如果是,则保留实数部分;否则直接保留原值。mask2
则用于判断是否为实数,如果是,则虚数部分直接用 0 填充;否则保留虚数部分。