计算扁平化 NumPy 数组的中位数


中位数

中位数是表示排序后的数值列表中中间值的集中趋势的统计度量。换句话说,我们可以说中位数是将数据集的上半部分与下半部分分隔开的值。

当元素总数为奇数时,计算中位数的数学公式如下。

Median = (n+1)/2

其中,n 是给定集合中的最后一个元素。

扁平化数组

扁平化是一个降低数组维度的过程。扁平化数组是一个通过扁平化多维数组创建的**一维**数组,其中数组中的所有元素都将连接到一个单行中。

在 NumPy 中,我们有两个函数**ravel()** 和 **flatten()** 用于扁平化数组。任何提到的方法都可以用于扁平化给定的多维数组。

语法

类似地,我们可以使用 median() 函数计算数组的中位数。

array.flatten()
np.median(flatten_array)

其中,

  • **NumPy** 是库的名称

  • **flatten** 是用于扁平化给定数组的函数

  • **array** 是输入数组

  • **median** 是用于查找给定数组的中位数的函数

  • **flatten_array** 是保存扁平化数组的变量

示例

为了计算数组的中位数,首先,我们应该使用 flatten() 函数将其扁平化,并将生成的扁平化数组值作为参数传递给 median() 函数,如下例所示 -

import numpy as np
a = np.array([[[34,23],[90,34]],[[43,23],[10,34]]])
print("The input array:",a)
flattened_array = a.flatten()
print("The flattened array of the given array:",flattened_array)
med = np.median(flattened_array)
print("The median of the given flattened array:",med)

输出

以下是为扁平化数组计算的中位数的输出。

The input array: [[[34 23]
  [90 34]]

 [[43 23]
  [10 34]]]
The flattened array of the given array: [34 23 90 34 43 23 10 34]
The median of the given flattened array: 34.0

示例

让我们再看一个示例,我们尝试计算 3D 数组的中位数 -

import numpy as np
a = np.array([[[23,43],[45,56]],[[24,22],[56,78]]])
print("The input array:",a)
flattened_array = a.flatten()
print("The flattened array of the given 3-d array:",flattened_array)
med = np.median(flattened_array)
print("The median of the given flattened array:",med)

输出

The input array: [[[23 43]
[45 56]]
[[24 22]
[56 78]]]
The flattened array of the given 3-d array: [23 43 45 56 24 22 56 78]
The median of the given flattened array: 44.0

示例

这是另一个查找 5D 扁平化数组的中位数的示例。

import numpy as np
a = np.array([[[23,43],[45,56]],[[24,22],[56,78]]],ndmin = 5)
print("The input array:",a)
print("The dimension of the array:",np.ndim(a))
flattened_array = a.flatten()
print("The flattened array of the given 3-d array:",flattened_array)
med = np.median(flattened_array)
print("The median of the given flattened array:",med)

输出

The input array: [[[[[23 43]
[45 56]]
[[24 22]
[56 78]]]]]
The dimension of the array: 5
The flattened array of the given 3-d array: [23 43 45 56 24 22 56 78]
The median of the given flattened array: 44.0

更新于: 2023年8月7日

80 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告