NumPy(Numerical Python)是一个用于处理大型多维数组和矩阵运算的Python库。它提供了大量的数学函数库,可以高效地执行数组操作、线性代数、傅里叶变换、随机数生成等功能。
# 使用 array() 函数来创建 NumPy ndarray 对象
# 0 维数组或标量:是数组中的元素。数组中的每个值都是一个 0-D 数组。
arr0 = np.array(42) #创建一个值为 42 的 0 维数组:
# 一维数组:以 0 维数组作为元素的数组称为一维或一维数组
arr1 = np.array([1, 2, 3, 4, 5])# 创建一个包含值 1,2,3,4,5 的一维数组
# 二维数组:以一维数组作为元素的数组称为二维数组,通常用于表示矩阵或二阶张量。
arr2 = np.array([[1, 2, 3], [4, 5, 6]])#创建一个包含两个数组的二维数组,其值为 1,2,3 和 4,5,6
# ndim 属性,返回一个整数(维度)
print(arr0.ndim)
#创建高维的数组,使用 ndmin 参数定义维度数
arr5 = np.array([1, 2, 3, 4], ndmin=5)
切片数组 [start:end:step]
- start默认 0。
- end默认视为该维度数组的长度。
- step默认视为 1。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
#从索引 1 到索引 5 的元素进行切片
print(arr[1:5])
#从索引 4 到数组末尾
print(arr[4:])
#从开头到索引 4(不包括)的元素进行切片
print(arr[:4])
#负切片:倒数索引 3 到倒数索引 1
print(arr[-3:-1])
#从索引 1 到索引 5 返回每隔一个元素
print(arr[1:5:2])
#从整个数组中返回每隔一个元素
print(arr[::2])
#切片二维数组
#从第二个元素开始,切片索引 1 到索引 4(不包括)的元素
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(arr[1, 1:4])
#从两个元素中,返回索引 2
print(arr[0:2, 2])
#从两个元素中,切片索引 1 到索引 4(不包括),这将返回一个二维数组
print(arr[0:2, 1:4])