Python NumPy中的一维阵列

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]。两个独立维

据我所知,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]
。两个独立维度行和列的概念并不适用于一维数组。因此,当您使用
.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
就是
形状
元组的长度。