Numpy基础操作详解
NumPy(Numerical Python)是Python语言的一个扩展库,支持大量的维度数组与矩阵运算,并提供了大量的数学函数来处理这些数组。NumPy是Python数据分析、机器学习等领域的基础库之一。本文将介绍NumPy的一些基础操作,帮助读者快速上手。
安装NumPy
如果你还没有安装NumPy,可以通过pip来安装:
pip install numpy
导入NumPy
在Python脚本中,我们通常使用以下方式来导入NumPy库:
import numpy as np
创建数组
使用numpy.array()
你可以使用numpy.array()
函数来创建NumPy数组。
import numpy as np
# 从Python列表创建数组
arr1 = np.array([1, 2, 3, 4])
print(arr1) # 输出: [1 2 3 4]
# 创建二维数组(矩阵)
arr2 = np.array([[1, 2], [3, 4], [5, 6]])
print(arr2)
# 输出:
# [[1 2]
# [3 4]
# [5 6]]
使用NumPy内置函数
NumPy提供了许多内置函数来创建特定类型的数组。
numpy.zeros()
: 创建全零数组numpy.ones()
: 创建全一数组numpy.eye()
: 创建单位矩阵(对角线为1,其余为0)numpy.arange()
: 类似于Python的range()
,但返回数组numpy.linspace()
: 在指定范围内创建等间隔的数组
# 示例
zeros_arr = np.zeros((2, 3)) # 创建一个2x3的全零数组
ones_arr = np.ones((3, 2)) # 创建一个3x2的全一数组
eye_arr = np.eye(3) # 创建一个3x3的单位矩阵
arange_arr = np.arange(0, 10, 2) # 创建一个从0到8(不包括10),步长为2的数组
linspace_arr = np.linspace(0, 1, 5) # 创建一个从0到1,包含5个等间隔元素的数组
数组属性
NumPy数组有许多有用的属性,如shape
、dtype
、size
和ndim
。
shape
: 数组的维度dtype
: 数组元素的数据类型size
: 数组元素的数量ndim
: 数组的维度数(轴的数量)
print(arr2.shape) # 输出: (3, 2)
print(arr2.dtype) # 输出: dtype('int64') 或其他整数类型
print(arr2.size) # 输出: 6
print(arr2.ndim) # 输出: 2
数组操作
索引和切片
NumPy数组支持Python中的索引和切片操作。
print(arr2[0, 1]) # 输出: 2,获取第一行第二列的元素
print(arr2[1:3, :]) # 输出:
# [[3 4]
# [5 6]],获取第二行到第三行(不包括第三行)的所有列
数组运算
NumPy支持数组间的元素级运算,如加法、减法、乘法、除法等。
arr3 = np.array([[1, 2], [3, 4]])
print(arr2 + arr3) # 对应元素相加
# 输出:
# [[ 2 4]
# [ 6 8]
# [ 6 8]]
广播
NumPy的广播机制允许不同形状的数组进行算术运算。
arr4 = np.array([10, 20])
print(arr2 + arr4) # arr4 会广播到与 arr2 相同的形状
# 输出:
# [[11 12]
# [23 24]
# [35 36]]
聚合函数
NumPy提供了许多聚合函数,如np.sum()
、np.mean()
、np.max()
、np.min()
等,用于计算数组中元素的和、平均值、最大值、最小值等。