Python Numpy.mean() - 算术平均数

Jinku Hu 2023年1月30日
  1. numpy.mean() 语法
  2. 示例代码:numpy.mean() 与一维数组
  3. 示例代码:numpy.mean() 与二维数组
  4. 示例代码:numpy.mean() 指定了 dtype
Python Numpy.mean() - 算术平均数

numpy.mean() 函数计算给定数组沿指定轴的算术平均值,或者用通俗的话说-平均数。

numpy.mean() 语法

numpy.mean(arr, axis=None, dtype=float64)

参数

arr array_like
输入数组来计算算术平均值
axis None, int 或元素为整数的元组
计算算术平均值的轴。
axis=0 表示沿列计算算术平均值,
axis=1 表示沿行计算算术平均值。
如果没有给定 axis,它将多维数组作为一个扁平化的列表处理
dtype 是指 dtypeNone
在计算算术平均值时使用的数据类型。默认为 float64

返回值

它返回给定数组的算术平均数,或一个沿指定轴的算术平均数的数组。

示例代码:numpy.mean() 与一维数组

import numpy as np

arr = [10, 20, 30]
print("1-D array :", arr)
print("Mean of arr is ", np.mean(arr))

输出:

1-D array : [10, 20, 30]
Mean of arr is  20.0

示例代码:numpy.mean() 与二维数组

import numpy as np

arr = [[10, 20, 30], [3, 50, 5], [70, 80, 90], [100, 110, 120]]

print("Two Dimension array :", arr)
print("Mean with no axis :", np.mean(arr))
print("Mean with axis along column :", np.mean(arr, axis=0))
print("Mean with axis aong row :", np.mean(arr, axis=1))

输出:

Two Dimension array : [[10, 20, 30], [3, 50, 5], [70, 80, 90], [100, 110, 120]]
Mean with no axis : 57.333333333333336
Mean with axis along column : [45.75 65.   61.25]
Mean with axis aong row : [ 20.          19.33333333  80.         110.        ]
>>

np.mean(arr) 将输入数组视为扁平化数组,并计算这个 1-D 扁平化数组的算术平均值。

np.mean(arr, axis=0) 计算沿列的算术平均值。

np.std(arr, axis=1) 计算沿行的算术平均值。

示例代码:numpy.mean() 指定了 dtype

import numpy as np

arr = [10.12, 20.3, 30.28]
print("1-D Array :", arr)
print("Mean of arr :", np.mean(arr))
print("Mean of arr with float32 data :", np.mean(arr, dtype=np.float32))
print("Mean of arr with float64 data :", np.mean(arr, dtype=np.float64))

输出:

1-D Array : [10.12, 20.3, 30.28]
Mean of arr : 20.233333333333334
Mean of arr with float32 data : 20.233332
Mean of arr with float64 data : 20.233333333333334

如果在 numpy.mean() 函数中给出 dtype 参数,它在计算算术平均值时使用指定的数据类型。

如果我们使用 float32 数据类型,而不是默认的 float64,则结果的分辨率较低。

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 创始人。Jinku 在机器人和汽车行业工作了8多年。他在自动测试、远程测试及从耐久性测试中创建报告时磨练了自己的编程技能。他拥有电气/电子工程背景,但他也扩展了自己的兴趣到嵌入式电子、嵌入式编程以及前端和后端编程。

LinkedIn Facebook