maxframe.tensor.median#
- maxframe.tensor.median(a, axis=None, out=None, overwrite_input=False, keepdims=False)[源代码]#
沿指定轴计算中位数。
返回张量元素的中位数。
- 参数:
a (array_like) -- 输入张量或可转换为张量的对象。
axis ({int, sequence of int, None}, optional) -- 计算中位数的轴。默认情况下沿张量的展平版本计算中位数。自版本 1.9.0 起支持轴序列。
out (Tensor, optional) -- 用于放置结果的替代输出张量。它必须具有与预期输出相同的形状和缓冲区长度,但必要时会进行类型转换。
overwrite_input (bool, optional) -- 仅为了与 Numpy 兼容,不会生效。
keepdims (bool, optional) -- 如果设置为 True,则在结果中将被规约的轴保留为大小为一的维度。使用此选项时,结果将能正确地与原始 arr 广播。
- 返回:
median -- 保存结果的新张量。如果输入包含小于
float64的整数或浮点数,则输出数据类型为np.float64。否则,输出的数据类型与输入相同。如果指定了 out,则返回该张量。- 返回类型:
Tensor
参见
备注
给定长度为
N的向量V,V的中位数是其排序后副本V_sorted的中间值——即当N为奇数时的V_sorted[(N-1)/2],以及当N为偶数时V_sorted中间两个值的平均值。示例
>>> import maxframe.tensor as mt >>> a = mt.array([[10, 7, 4], [3, 2, 1]]) >>> a.execute() array([[10, 7, 4], [ 3, 2, 1]]) >>> mt.median(a).execute() 3.5 >>> mt.median(a, axis=0).execute() array([6.5, 4.5, 2.5]) >>> mt.median(a, axis=1).execute() array([7., 2.]) >>> m = mt.median(a, axis=0) >>> out = mt.zeros_like(m) >>> mt.median(a, axis=0, out=m).execute() array([6.5, 4.5, 2.5]) >>> m.execute() array([6.5, 4.5, 2.5])