Python 什么是;维度“;一个numpy数组的平均值是多少?
我对scikit学习和numpy仍然是新手。 我读了教程,但我不明白他们是如何定义数组维度的 在以下示例中:Python 什么是;维度“;一个numpy数组的平均值是多少?,python,numpy,Python,Numpy,我对scikit学习和numpy仍然是新手。 我读了教程,但我不明白他们是如何定义数组维度的 在以下示例中: >>> import numpy as np >>> a = np.arange(15).reshape(3, 5) >>> a array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) >>> a.
>>> import numpy as np
>>> a = np.arange(15).reshape(3, 5)
>>> a
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2
数组每行有五个变量,所以我希望它有五个维度
为什么
a.ndim
等于2?维度表示a.shape元组的长度。
ndarray的形状是(3,5),因为它有3行5列。这正是您试图找到的,不是吗?维度表示a.shape元组的长度。
ndarray的形状是(3,5),因为它有3行5列。这正是您试图找到的,不是吗?我弄错了帧和数组,数组是通过如何找到数字来判断的,找到数字需要多少步骤,在这种情况下,您需要找到行,然后找到行。但在框架中,例如一个实例,该实例拥有一行,其中的所有行都描述了它的属性,或者称之为变量,或者定义实例的维度。在框架中,可以使用二维数组定义多维实例<代码>
数组
14.5
2 3 6
因此,您可以通过两个步骤找到该号码,就像您可以通过[]]找到该号码一样
但在帧中
长度高度重量
1233456
2898763
这是一个帧,实际上是一个三维“数组”,但它不是数组。我把帧和数组搞错了,数组是通过如何找到数字来判断的,找到数字需要多少步骤,在这种情况下,你需要找到行,然后找到行。但在框架中,例如一个实例,该实例拥有一行,其中的所有行都描述了它的属性,或者称之为变量,或者定义实例的维度。在框架中,可以使用二维数组定义多维实例<代码>
数组
14.5
2 3 6
因此,您可以通过两个步骤找到该号码,就像您可以通过[]]找到该号码一样
但在帧中
长度高度重量
1233456
2898763
这是一个框架,实际上是一个三维“数组”,但它不是数组。鉴于您使用的是scikit learn,我将在机器学习的上下文中对此进行解释,因为它可能更有意义 您的特征矩阵(我假设您在这里所说的)通常是二维的(因此为什么
ndim=2
),因为您有行(占据一维)和列(占据第二维)
在机器学习的情况下,我通常认为行是样本,列是特征
但是,请注意,每个维度可以有多个条目(例如,您将有多个样本/行和多个列/特征)。这将告诉您沿该维度的大小
因此,在你的情况下:
>>> a
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2
有一个尺寸标注的长度/大小为3。第二个维度有5个条目。例如,您可以将其视为包含3个样本和5个特征/变量的特征矩阵
总之,您有两个维度(ndim=2
),但数组的具体大小由形状元组表示,它告诉您两个维度中的每个维度有多大
此外,(3,5,2)
将是一个具有3维的矩阵,其中第3维有2个值
我认为这里的关键,至少在2维的情况下,是不要把它看作嵌套列表或嵌套向量(这是当你考虑<代码> []/COD>)时的样子,而只是把它看作一个有行和列的表。当您以这种方式思考数据结构时,
shape
元组和ndim
将更有意义鉴于您正在使用scikit learn,我将在机器学习的上下文中解释这一点,因为它可能更有意义
您的特征矩阵(我假设您在这里所说的)通常是二维的(因此为什么ndim=2
),因为您有行(占据一维)和列(占据第二维)
在机器学习的情况下,我通常认为行是样本,列是特征
但是,请注意,每个维度可以有多个条目(例如,您将有多个样本/行和多个列/特征)。这将告诉您沿该维度的大小
因此,在你的情况下:
>>> a
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2
有一个尺寸标注的长度/大小为3。第二个维度有5个条目。例如,您可以将其视为包含3个样本和5个特征/变量的特征矩阵
总之,您有两个维度(ndim=2
),但数组的具体大小由形状元组表示,它告诉您两个维度中的每个维度有多大
此外,(3,5,2)
将是一个具有3维的矩阵,其中第3维有2个值
我认为这里的关键,至少在2维的情况下,是不要把它看作嵌套列表或嵌套向量(这是当你考虑<代码> []/COD>)时的样子,而只是把它看作一个有行和列的表。当您以这种方式考虑数据结构时,
shape
元组和ndim
将更有意义它是数组开始处的[
数。a.ndim==len(a.shape)
我弄错了框架和数组,数组是通过如何找到数字、找到数字需要多少步骤来判断的,在这种情况下,您需要先找到行,然后再找到行。但是在框架中,例如,这个实例拥有一行,其中所有的行都描述了它的属性,或者称之为变量,或者定义实例的维度在框架中,您可以使用二维数组来定义多维实例。不要忘记numpy处理n维数组;例如a=np.arange(60)。重塑(3,4,5)
具有a.ndim=3
。它