numpy rank
在numpy中,rank是指数组的维度数量。换句话说,一个一维数组的rank为1,一个二维数组的rank为2,以此类推。
numpy数组的rank
让我们先创建一些numpy数组,并查看它们的rank。
import numpy as np
# 一维数组
arr1 = np.array([1, 2, 3])
print("一维数组的rank:", arr1.ndim)
# 二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print("二维数组的rank:", arr2.ndim)
# 三维数组
arr3 = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print("三维数组的rank:", arr3.ndim)
输出:
一维数组的rank: 1
二维数组的rank: 2
三维数组的rank: 3
numpy数组的rank和形状
numpy数组的rank和形状息息相关。数组的形状是一个包含每个维度大小的元组。对于一个二维数组而言,形状为(m, n),其中m是行数,n是列数。
让我们看看如何获取数组的形状和rank。
import numpy as np
# 二维数组
arr = np.array([[1, 2, 3], [4, 5, 6]])
print("数组的形状:", arr.shape)
print("数组的rank:", arr.ndim)
输出:
数组的形状: (2, 3)
数组的rank: 2
numpy数组的rank和索引
numpy数组的每个维度都有一个相应的索引范围,从0开始。对于一个二维数组而言,第一个维度对应行,第二个维度对应列。
让我们看看如何使用索引来访问数组中的元素。
import numpy as np
# 二维数组
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 访问第一个维度的第二个元素
print("第一个维度的第二个元素:", arr[0, 1])
# 访问第二个维度的第三个元素
print("第二个维度的第三个元素:", arr[1, 2])
输出:
第一个维度的第二个元素: 2
第二个维度的第三个元素: 6
numpy数组的rank和切片
在numpy中,我们可以通过切片操作来获取数组中的子数组。对于一个二维数组而言,可以分别对行和列进行切片。需要注意的是,切片操作是半开区间,即包含起始索引,不包含结束索引。
让我们看看如何使用切片操作获取数组的子数组。
import numpy as np
# 二维数组
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 获取第一行的所有元素
print("第一行的所有元素:", arr[0, :])
# 获取第二列的所有元素
print("第二列的所有元素:", arr[:, 1])
输出:
第一行的所有元素: [1 2 3]
第二列的所有元素: [2 5]
总结
本文详细介绍了numpy数组的rank概念,并通过示例代码演示了如何获取数组的rank、形状、使用索引和切片操作。