题目
11 C=np.arange(1,9).reshape(4,2)与以下哪个矩阵相同?A C=np.array([[5,6,7,8,9]])B C=np.array([[1,2,3,4,5,6,7,8]])C C=np.array([[1,2,3,4],[5,6,7,8]])D C=np.array([[1,2],[3,4],[5,6],[7,8]])
11 C=np.arange(1,9).reshape(4,2)与以下哪个矩阵相同?
A C=np.array([[5,6,7,8,9]])
B C=np.array([[1,2,3,4,5,6,7,8]])
C C=np.array([[1,2,3,4],[5,6,7,8]])
D C=np.array([[1,2],[3,4],[5,6],[7,8]])
题目解答
答案
首先,我们来逐步分析题目中的代码 C = np.arange(1, 9).reshape(4, 2):
-
np.arange(1, 9):np.arange(start, stop)函数会生成一个从start(包含)到stop(不包含)的整数一维数组。- 因此,
np.arange(1, 9)会生成包含数字 1 到 8 的数组,即:[1, 2, 3, 4, 5, 6, 7, 8]。
-
.reshape(4, 2):reshape方法用于改变数组的形状。这里的(4, 2)表示将数组重塑为 4 行 2 列 的二维矩阵。- 默认情况下,NumPy 按照“行优先”(C 顺序)填充数据。也就是说,它会依次将一维数组中的元素填入新矩阵的每一行。
- 将
[1, 2, 3, 4, 5, 6, 7, 8]填入 4 行 2 列的矩阵中:- 第 1 行:1, 2
- 第 2 行:3, 4
- 第 3 行:5, 6
- 第 4 行:7, 8
- 最终得到的矩阵为:
[[1, 2], [3, 4], [5, 6], [7, 8]]
接下来,我们对比给出的四个选项:
- A.
C = np.array([[5, 6, 7, 8, 9]]):这是一个 1 行 5 列的矩阵,形状和数据都不匹配。 - B.
C = np.array([[1, 2, 3, 4, 5, 6, 7, 8]]):这是一个 1 行 8 列的矩阵(形状为(1, 8)),与目标形状(4, 2)不符。 - C.
C = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]):这是一个 2 行 4 列的矩阵(形状为(2, 4)),与目标形状(4, 2)不符。 - D.
C = np.array([[1, 2], [3, 4], [5, 6], [7, 8]]):这是一个 4 行 2 列的矩阵,且元素排列顺序完全一致。
综上所述,与 C = np.arange(1, 9).reshape(4, 2) 相同的矩阵是选项 D。
解析
本题考查的是NumPy库中arange函数和reshape方法的使用。解题思路是先根据arange函数的功能生成一维数组,再依据reshape方法将一维数组转换为指定形状的二维矩阵,最后将得到的矩阵与各个选项进行对比。
- 使用
np.arange(1, 9)生成一维数组:np.arange(start, stop)函数会生成一个从start(包含)到stop(不包含)的整数一维数组。- 所以,
np.arange(1, 9)会生成包含数字1到8的数组,即$[1, 2, 3, 4, 5, 6, 7, 8]$。
- 使用
.reshape(4, 2)将一维数组转换为二维矩阵:reshape方法用于改变数组的形状,这里的(4, 2)表示将数组重塑为4行2列的二维矩阵。- 默认情况下,NumPy按照“行优先”(C顺序)填充数据,也就是依次将一维数组中的元素填入新矩阵的每一行。
- 将$[1, 2, 3, 4, 5, 6, 7, 8]$填入4行2列的矩阵中:
- 第1行:$1, 2$
- 第2行:$3, 4$
- 第3行:$5, 6$
- 第4行:$7, 8$
- 最终得到的矩阵为$\begin{bmatrix}1 & 2\\3 & 4\\5 & 6\\7 & 8\end{bmatrix}$。
- 对比各个选项:
- 选项A:$C = np.array([[5, 6, 7, 8, 9]])$,这是一个1行5列的矩阵,形状和数据都不匹配。
- 选项B:$C = np.array([[1, 2, 3, 4, 5, 6, 7, 8]])$,这是一个1行8列的矩阵(形状为$(1, 8)$),与目标形状$(4, 2)$不符。
- 选项C:$C = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])$,这是一个2行4列的矩阵(形状为$(2, 4)$),与目标形状$(4, 2)$不符。
- 选项D:$C = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])$,这是一个4行2列的矩阵,且元素排列顺序完全一致。