gpt4 book ai didi

python - 为什么 numpy angle 函数也为屏蔽数组值返回值

转载 作者:太空狗 更新时间:2023-10-30 01:23:54 24 4
gpt4 key购买 nike

如果你尝试下面的代码段

import numpy as np
import numpy.ma as ma

a = np.random.random(100) + 1j*np.random.random(100)
mask = np.ones_like(a, dtype='bool')
mask[0:9] = False
a = ma.masked_array(a, mask)
phase = np.angle(a)

相控阵不会被屏蔽。 angle 函数将返回整个数组的值,即使是屏蔽掉的值。我在这里做错了什么还是应该这样?如果是,为什么?

最佳答案

快速查看了 numpy 源代码,它可能是一个错误/尚未实现。

它在 numpy.ma 页面上列为“缺失功能(进行中)”,第 1 期:http://projects.scipy.org/numpy/wiki/MaskedArray .

问题在于,np.anglenp.quantile 等一些一元函数调用了 [np.]asarray源,它去掉了掩码。

正如开发人员在我链接到的页面中解释的那样,如果这些函数使用 ma.asarray 而不是 np.asarray 他们会工作,但他们不:(.

我猜这是一个尚未提交的补丁?

作为临时解决方法,np.angle 基本上调用 np.arctan2(a.imag,a.real)(可选择乘以 180/pi 以获得度数) ,所以你可以使用它。

关于python - 为什么 numpy angle 函数也为屏蔽数组值返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8346457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com