假设某比赛分A,B,C三个组。每组有参赛者5名,分别来自15个不同的国家。
一维数组
对于A组来说,一维数组相当于建立一个姓名列表 name =['参赛者A1','参赛者A2',....,'参赛者A5'],列表里有5个元素,代表五个参赛者。
二维数组
接着上面的,对于A组来说,二维数组相当于建立一个 姓名-国籍 数组
输出的(5, 2)表示,5行2列。意思是五个参赛者除了姓名属性外,还有国籍属性。有几个属性就有几列。相当于数据库表里的字段,有几个字段数据库表就有几列。
import numpy as np
nameCountry= np.array([['参赛者A1','国籍A1'],
['参赛者A2','国籍A2'],
['参赛者A3','国籍A3'],
['参赛者A4','国籍A4'],
['参赛者A5','国籍A5']])
print(nameCountry)
print(nameCountry.shape)
输出为:
[['参赛者A1' '国籍A1']
['参赛者A2' '国籍A2']
['参赛者A3' '国籍A3']
['参赛者A4' '国籍A4']
['参赛者A5' '国籍A5']]
(5, 2)
三维数组
在上面两个的基础上。每组参赛者都有姓名-国籍属性,有三组,就形成了三维数组。代码如下:
import numpy as np
nameCountrys = np.array([
[['参赛者A1','国籍A1'],['参赛者A2','国籍A2'],['参赛者A3','国籍A3'],['参赛者A4','国籍A4'],['参赛者A5','国籍A5']],
[['参赛者B1','国籍B1'],['参赛者B2','国籍B2'],['参赛者B3','国籍B3'],['参赛者B4','国籍B4'],['参赛者B5','国籍B5']],
[['参赛者C1','国籍C1'],['参赛者C2','国籍C2'],['参赛者C3','国籍C3'],['参赛者C4','国籍C4'],['参赛者C5','国籍C5']]
])
print(nameCountrys)
print(nameCountrys.shape)
输出为:
[['参赛者A1' '国籍A1']
['参赛者A2' '国籍A2']
['参赛者A3' '国籍A3']
['参赛者A4' '国籍A4']
['参赛者A5' '国籍A5']]
(5, 2)
[[['参赛者A1' '国籍A1']
['参赛者A2' '国籍A2']
['参赛者A3' '国籍A3']
['参赛者A4' '国籍A4']
['参赛者A5' '国籍A5']]
[['参赛者B1' '国籍B1']
['参赛者B2' '国籍B2']
['参赛者B3' '国籍B3']
['参赛者B4' '国籍B4']
['参赛者B5' '国籍B5']]
[['参赛者C1' '国籍C1']
['参赛者C2' '国籍C2']
['参赛者C3' '国籍C3']
['参赛者C4' '国籍C4']
['参赛者C5' '国籍C5']]]
(3, 5, 2)
输出的(3,5, 2)表示,第三维的2表示每组有姓名和国籍两个属性;第二维的5表示每组有五个参赛者;最后的第一维3就代表者有3个小组。
总结
其实一维就是只有一个属性,一种特征;二维就是有多个属性,多个特征;三维即有多组,每组的属性相同。