簡體   English   中英

numpy數組的“維數”是什么意思?

[英]What does “dimensionality” mean for a numpy array?

我還是scikit-learn和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.shape
(3, 5)
>>> a.ndim
2

該數組在每行中都有五個變量,因此我希望它具有5個維。

為什么a.ndim等於2?

尺寸表示形狀元組的長度。 ndarray的形狀為(3,5),因為它具有3行和5列。 這正是您試圖找到的,不是嗎?

我把框架和數組弄錯了,數組是通過如何找到數字,定位數字的步驟來判斷的,在這種情況下,需要先定位行然后再定位行。 但是在Frame中,對於一個實例,該實例擁有一行,並且其中的所有行都描述了它的屬性,或稱其為變量,或用於定義實例的尺寸。 在“框架”中,您可以使用二維數組定義多維實例。
Array
1 4 5
2 3 6
所以這是兩步,您將找到數字,就像您可以[] []定位一樣
但在框架中
Length Height Weight
1 23 34 56
2 89 87 63
這是一個框架,實際上是一個3維“數組”,但不是數組。

鑒於您正在使用scikit學習,我將在機器學習的背景下對此進行解釋,因為它可能更有意義...

您的特征矩陣(我認為這就是您在這里所說的)通常是二維的(因此為什么ndim = 2 ),因為您有行(占1維)和列(占第二維) )

在機器學習的情況下,我通常將行視為示例,將列視為要素。

但是請注意,每個維度可以有多個條目(例如,您將有多個樣本/行和多個列/功能)。 這告訴您沿該尺寸的尺寸。

因此,在您的情況下:

>>> 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個特征/變量的特征矩陣。

總而言之,您有2個維度( ndim = 2 ),但是數組的特定大小由形狀元組表示,它告訴您這2個維度中的每個維度有多大。

此外, (3,5,2)將是一個具有3維的矩陣,其中第3維具有2個值

我認為,至少在二維情況下,這里的關鍵是不要將其視為嵌套列表或嵌套向量(考慮[]時看起來就是這樣),而只是將其視為具有以下內容的表:行和列。 當您想到數據結構時, shape元組和ndim會更有意義

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM