numpy.ma.MaskedArray.take#
method
- ma.MaskedArray.take(indices, axis=None, out=None, mode='raise')[源代码]#
沿轴从掩码数组中获取元素.
此函数对掩码数组执行与"花式"索引(使用数组对数组进行索引)相同的操作. 如果需要沿给定轴的元素,则使用起来可能更容易.
- 参数:
- amasked_array
源掩码数组.
- indicesarray_like
要提取的值的索引. 也允许将标量用于索引.
- 轴int, optional
从中选择值的轴. 默认情况下,使用展平的输入数组.
- outMaskedArray, optional
如果提供,结果将放置在此数组中. 它应具有适当的形状和 dtype. 请注意,如果 mode=’raise’ ,则始终会缓冲 out ; 使用其他模式可获得更好的性能.
- mode{‘raise’, ‘wrap’, ‘clip’}, optional
指定越界索引的行为方式.
‘raise’ – 引发错误(默认)
‘wrap’ – 环绕
‘clip’ – 裁剪到范围
‘clip’ 模式表示所有过大的索引都将替换为寻址该轴上最后一个元素的索引. 请注意,这会禁用使用负数进行索引.
- 返回:
- outMaskedArray
返回的数组与 a 的类型相同.
参见
numpy.takendarray 的等效函数.
compress使用布尔掩码获取元素.
take_along_axis通过匹配数组和索引数组来获取元素.
注释
此函数的行为类似于
numpy.take,但它处理被掩盖的值. 掩码在输出数组中保留,并且输入数组中被掩盖的值在输出中保持被掩盖.示例
>>> import numpy as np >>> a = np.ma.array([4, 3, 5, 7, 6, 8], mask=[0, 0, 1, 0, 1, 0]) >>> indices = [0, 1, 4] >>> np.ma.take(a, indices) masked_array(data=[4, 3, --], mask=[False, False, True], fill_value=999999)
当
indices不是一维时,输出也具有这些维度:>>> np.ma.take(a, [[0, 1], [2, 3]]) masked_array(data=[[4, 3], [--, 7]], mask=[[False, False], [ True, False]], fill_value=999999)