📜  Python中的 numpy.iscomplex()(1)

📅  最后修改于: 2023-12-03 15:19:25.811000             🧑  作者: Mango

Python 中的 numpy.iscomplex()

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 填充;否则保留虚数部分。