Python NumPy中的一维阵列
据我所知,1-D数组是那些只有一列和任意行数的数组,反之亦然 如果我运行此代码:Python NumPy中的一维阵列,python,arrays,numpy,Python,Arrays,Numpy,据我所知,1-D数组是那些只有一列和任意行数的数组,反之亦然 如果我运行此代码: import numpy as np a = np.arange(10).reshape(1,10) b = np.arange(10).reshape(10,1) print(a.ndim, b.ndim) 它返回两个都是二维数组。 为什么?我知道电脑工作正常。但是你能告诉我什么是一维阵列吗 一维数组是一个只有一个维度的数组。没有列或行。它在一行中有许多值,比如说a=[1,2,3,4,5,6]。两个独立维
import numpy as np
a = np.arange(10).reshape(1,10)
b = np.arange(10).reshape(10,1)
print(a.ndim, b.ndim)
它返回两个都是二维数组。
为什么?我知道电脑工作正常。但是你能告诉我什么是一维阵列吗 一维数组是一个只有一个维度的数组。没有列或行。它在一行中有许多值,比如说
a=[1,2,3,4,5,6]
。两个独立维度行和列的概念并不适用于一维数组。因此,当您使用.reformate(1,10)
定义第一个数组时,您给了它维度-1和10。因此,您实际上定义了一个维度为1x10的二维数组
如果执行此代码-
import numpy as np
a = np.arange(10).reshape(1,10)
b = np.arange(10).reshape(10,1)
print(a.ndim, b.ndim)
print(a)
print(b)
您将获得此输出-
2 2
[[0 1 2 3 4 5 6 7 8 9]]
[[0]
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]]
这清楚地表明数组
a
有两个维度,一行一列,因此是一个二维数组。这。重塑(10,1)
将数组重塑为一个包含10行和1列的二维数组。但是,如果改用.restrape(10)
,您将得到一个一维数组。问题是restrape
,您说restrape(1,10)
。这意味着,在具有1行10列的二维矩阵中重塑阵列的形状。你想要的是一维数组,所以你需要重塑(10)x=np。arange(10)
是一维数组。你可以检查x.ndim
是否为1。在高中几何中,线有多宽?1个单位?ndim
就是形状
元组的长度。