numpy在python中的用法
导言
NumPy(Numerical Python)是Python语言的一个扩展程序库,支持多维数组和矩阵运算。NumPy的核心功能之一是它可以高效地处理大型多维数组和矩阵,同时提供了很多数值计算的函数。本文将详细介绍NumPy在Python中的用法,包括数组的创建、索引和切片、数学运算、统计计算等。
数组的创建
在NumPy中,我们可以通过多种方式创建数组。
1. 从Python列表创建数组
我们可以使用np.array()
函数将Python列表转换为NumPy数组。代码如下所示:
import numpy as np
data = [1, 2, 3, 4, 5]
array = np.array(data)
print(array)
运行结果:
[1 2 3 4 5]
2. 使用NumPy的内置函数创建数组
NumPy提供了一些内置函数来创建特定类型的数组。
2.1. 创建全零数组
我们可以使用np.zeros()
函数创建一个全零数组。代码如下所示:
import numpy as np
array = np.zeros(5)
print(array)
运行结果:
[0. 0. 0. 0. 0.]
2.2. 创建全一数组
我们可以使用np.ones()
函数创建一个全一数组。代码如下所示:
import numpy as np
array = np.ones(5)
print(array)
运行结果:
[1. 1. 1. 1. 1.]
2.3. 创建随机数组
我们可以使用np.random.rand()
函数创建一个给定形状的随机数组。代码如下所示:
import numpy as np
array = np.random.rand(5)
print(array)
运行结果:
[0.54799128 0.49971674 0.24630512 0.77162606 0.29830098]
3. 数组的属性
在创建数组后,我们可以使用一些属性来获取有关数组的信息。
3.1. 数组的形状
我们可以使用shape
属性获取数组的形状。代码如下所示:
import numpy as np
array = np.array([[1, 2, 3], [4, 5, 6]])
print(array.shape)
运行结果:
(2, 3)
3.2. 数组的维度
我们可以使用ndim
属性获取数组的维度。代码如下所示:
import numpy as np
array = np.array([[1, 2, 3], [4, 5, 6]])
print(array.ndim)
运行结果:
2
数组的索引和切片
在NumPy中,可以通过索引和切片对数组进行访问和操作。
1. 数组的索引
通过索引,我们可以访问数组的特定元素。
import numpy as np
array = np.array([1, 2, 3, 4, 5])
print(array[0]) # 访问第一个元素
print(array[-1]) # 访问最后一个元素
运行结果:
1
5
对于多维数组,我们可以使用逗号分隔的索引来访问特定元素。
import numpy as np
array = np.array([[1, 2, 3], [4, 5, 6]])
print(array[0, 0]) # 访问第一个元素
print(array[1, 2]) # 访问最后一个元素
运行结果:
1
6
2. 数组的切片
通过切片,我们可以获取数组的子集。
import numpy as np
array = np.array([1, 2, 3, 4, 5])
print(array[1:4]) # 获取索引1到3的元素,不包括索引4
print(array[:3]) # 获取索引0到2的元素,不包括索引3
print(array[3:]) # 获取索引3至最末的元素
运行结果:
[2 3 4]
[1 2 3]
[4 5]
对于多维数组,我们可以在切片中指定每个维度的范围。
import numpy as np
array = np.array([[1, 2, 3], [4, 5, 6]])
print(array[:, 1:3]) # 获取每行的索引1到2的元素
print(array[1, :]) # 获取第二行的所有元素
运行结果:
[[2 3]
[5 6]]
[4 5 6]
数组的数学运算
NumPy中的数组支持各种数学运算,包括加法、减法、乘法和除法等。
1. 加法
我们可以使用+
运算符执行数组的加法运算。代码如下所示:
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
result = array1 + array2
print(result)
运行结果:
[5 7 9]
2. 减法
我们可以使用-
运算符执行数组的减法运算。代码如下所示:
import numpy as np
array1 = np.array([4, 5, 6])
array2 = np.array([1, 2, 3])
result = array1 - array2
print(result)
运行结果:
[3 3 3]
3. 乘法
我们可以使用*
运算符执行数组的乘法运算。代码如下所示:
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
result = array1 * array2
print(result)
运行结果:
[4 10 18]
4. 除法
我们可以使用/
运算符执行数组的除法运算。代码如下所示:
import numpy as np
array1 = np.array([4, 5, 6])
array2 = np.array([1, 2, 3])
result = array1 / array2
print(result)
运行结果:
[4. 2.5 2.]
统计计算
NumPy提供了各种统计计算的函数。
1. 求和
我们可以使用np.sum()
函数计算数组元素的总和。代码如下所示:
import numpy as np
array = np.array([1, 2, 3, 4, 5])
result = np.sum(array)
print(result)
运行结果:
15
2. 求平均值
我们可以使用np.mean()
函数计算数组元素的平均值。代码如下所示:
import numpy as np
array = np.array([1, 2, 3, 4, 5])
result = np.mean(array)
print(result)
运行结果:
3.0
3. 求最大值
我们可以使用np.max()
函数找出数组元素的最大值。代码如下所示:
import numpy as np
array = np.array([1, 2, 3, 4, 5])
result = np.max(array)
print(result)
运行结果:
5
4. 求最小值
我们可以使用np.min()
函数找出数组元素的最小值。代码如下所示:
import numpy as np
array = np.array([1, 2, 3, 4, 5])
result = np.min(array)
print(result)
运行结果:
1
总结
本文详细介绍了NumPy在Python中的用法。我们学习了创建数组的不同方法,包括从Python列表创建数组和使用NumPy的内置函数创建数组。我们还学习了如何索引和切片数组,以及进行数学运算和统计计算的方法。NumPy是进行数值计算的强大工具,通过掌握NumPy的用法,我们可以更高效地处理多维数组和矩阵,为数据分析和科学计算提供支持。