Python : 将复数数组转换为极坐标形式

Python : Transforming a complex array to polar form

我有一个 np.array,形状为 (300,300),复数 a+bj。 我想将每个元素转换为极坐标形式 Rexp{jO}

我试过了

cmath.polar(data)

但不适用于数组,所以我尝试了类似的方法

complexe = np.zeros((len(data),len(data[0])))
count_arr = 0
for arr in data:
    count_item = 0
    for itm in arr:
        complexe[count_arr][count_item] = cmath.polar(itm)
        count_item = count_item +1
    count_arr = count_arr +1

它不起作用,因为 cmath.polar 的输出是一个元组(我认为)。

我是 python 的初学者,欢迎任何帮助!

你可以直接在numpy中得到你的R和O:

R = np.abs(z), O = np.angle(z)