Numpy Array 的详细介绍
参考:numpy array
Numpy 是一个非常强大的 Python 库,主要用于进行大规模的数学计算。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具。本文将详细介绍 Numpy 数组的使用方法,包括数组的创建、操作、处理以及一些高级功能。
1. Numpy 数组的创建
Numpy 数组可以通过多种方式创建,以下是一些基本的创建方法:
示例代码 1:使用 np.array
创建数组
import numpy as np
data = [1, 2, 3, 4, 5]
np_array = np.array(data)
print(np_array) # 输出:[1 2 3 4 5]
Output:
示例代码 2:使用 np.zeros
创建全零数组
import numpy as np
zero_array = np.zeros(5)
print(zero_array) # 输出:[0. 0. 0. 0. 0.]
Output:
示例代码 3:使用 np.ones
创建全一数组
import numpy as np
ones_array = np.ones(5)
print(ones_array) # 输出:[1. 1. 1. 1. 1.]
Output:
示例代码 4:使用 np.arange
创建数组
import numpy as np
range_array = np.arange(5)
print(range_array) # 输出:[0 1 2 3 4]
Output:
示例代码 5:使用 np.linspace
创建线性间隔的数组
import numpy as np
linspace_array = np.linspace(0, 10, num=5)
print(linspace_array) # 输出:[ 0. 2.5 5. 7.5 10. ]
Output:
2. Numpy 数组的属性
Numpy 数组有很多有用的属性,可以帮助我们更好地了解和处理数组。
示例代码 6:数组形状 shape
import numpy as np
data = [[1, 2, 3], [4, 5, 6]]
np_array = np.array(data)
print(np_array.shape) # 输出:(2, 3)
Output:
示例代码 7:数组维度 ndim
import numpy as np
data = [1, 2, 3, 4, 5]
np_array = np.array(data)
print(np_array.ndim) # 输出:1
Output:
示例代码 8:元素类型 dtype
import numpy as np
data = [1, 2, 3, 4, 5]
np_array = np.array(data)
print(np_array.dtype) # 输出:int64
Output:
3. Numpy 数组的索引和切片
数组的索引和切片是数据处理中非常重要的部分,Numpy 提供了多种方式来索引和切片数组。
示例代码 9:单个元素索引
import numpy as np
np_array = np.array([1, 2, 3, 4, 5])
print(np_array[0]) # 输出:1
Output:
示例代码 10:切片操作
import numpy as np
np_array = np.array([1, 2, 3, 4, 5])
print(np_array[1:4]) # 输出:[2 3 4]
Output:
示例代码 11:多维数组索引
import numpy as np
np_array = np.array([[1, 2, 3], [4, 5, 6]])
print(np_array[0, 1]) # 输出:2
Output:
示例代码 12:布尔索引
import numpy as np
np_array = np.array([1, 2, 3, 4, 5])
filter = np_array > 3
print(np_array[filter]) # 输出:[4 5]
Output:
4. Numpy 数组的操作
Numpy 提供了大量的数组操作方法,包括数组的形状改变、拼接、分割等。
示例代码 13:数组转置
import numpy as np
np_array = np.array([[1, 2, 3], [4, 5, 6]])
transposed_array = np_array.transpose()
print(transposed_array) # 输出:[[1 4] [2 5] [3 6]]
Output:
示例代码 14:数组拼接
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
concatenated_array = np.concatenate((array1, array2))
print(concatenated_array) # 输出:[1 2 3 4 5 6]
Output:
示例代码 15:数组分割
import numpy as np
np_array = np.array([1, 2, 3, 4, 5, 6])
split_array = np.split(np_array, 3)
print(split_array) # 输出:[array([1, 2]), array([3, 4]), array([5, 6])]
Output:
5. Numpy 数组的数学运算
Numpy 提供了一系列的数学函数,可以直接在数组上进行操作,这些操作通常比纯 Python 快得多。
示例代码 16:数组加法
import numpy as np
np_array = np.array([1, 2, 3, 4, 5])
result = np_array + 5
print(result) # 输出:[ 6 7 8 9 10]
Output:
示例代码 17:数组乘法
import numpy as np
np_array = np.array([1, 2, 3, 4, 5])
result = np_array * 2
print(result) # 输出:[ 2 4 6 8 10]
Output:
示例代码 18:数组除法
import numpy as np
np_array = np.array([10, 20, 30, 40, 50])
result = np_array / 10
print(result) # 输出:[ 1. 2. 3. 4. 5.]
Output:
示例代码 19:矩阵乘法
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[2, 0], [1, 2]])
result = np.dot(a, b)
print(result) # 输出:[[ 4 4] [10 8]]
Output:
示例代码 20:更复杂的数学函数
import numpy as np
np_array = np.array([1, 2, 3, 4, 5])
result = np.sin(np_array)
print(result) # 输出:[ 0.84147098 0.90929743 0.14112001 -0.7568025 -0.95892427]
Output:
以上是 Numpy 数组的一些基本介绍和操作示例。通过这些示例,我们可以看到 Numpy 提供的功能非常强大,能够帮助我们高效地处理数学和科学计算问题。