Numpy 中陣列的分割

2021-08-17 22:25:11 字數 1617 閱讀 6449

來自 《python資料分析基礎教程:numpy 學習指南(第2版)》

下面要介紹的陣列分割方法有:

0. 建立乙個陣列

a = arange(9).reshape(3,3)

print(a)

1. 水平分割

下面的**將把陣列沿著水平方向分割為3個相同大小的子陣列:

b = hsplit(a,3)

print(b)

或者呼叫split函式並在引數中指定引數axis=1

b = split(a, 3, axis=1)

print(b)

得到結果

[array([[0],

[3],

[6]]),

array([[1],

[4],

[7]]),

array([[2],

[5],

[8]])]

2.垂直分割

下面的**將把陣列沿著垂直方向分割為3個相同大小的子陣列:

b = vsplit(a,3)

print(b)

或者呼叫split函式並在引數中指定引數axis=1

b = split(a, 3, axis=0)

print(b)

得到結果

[array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
3.深度分割

先建立乙個三維陣列:

a = arange(27).reshape(3,3,3)

print(a)

[[[ 0  1  2]

[ 3 4 5]

[ 6 7 8]]

[[ 9 10 11]

[12 13 14]

[15 16 17]]

[[18 19 20]

[21 22 23]

[24 25 26]]]

呼叫dsplit函式按深度方向分割陣列

b = dsplit(a,3)

print(b)

得到結果

[array([[[ 0],

[ 3],

[ 6]],

[[ 9],

[12],

[15]],

[[18],

[21],

[24]]]),

array([[[ 1],

[ 4],

[ 7]],

[[10],

[13],

[16]],

[[19],

[22],

[25]]]),

array([[[ 2],

[ 5],

[ 8]],

[[11],

[14],

[17]],

[[20],

[23],

[26]]])]

numpy 陣列的合併和分割

匯入numpy import numpy as np數字的分割 np.vstack tupel 豎直合併 np.hstack tupel 水平合併 a np.array 1 2,3 b np.array 2 3,4 c np.vstack a,b c array 1,2,3 2,3,4 d np.h...

numpy之陣列索引,組合,分割

import numpy as np 陣列索引 arr np.arange 10 print arr 2 print arr 2 print arr 1 二維陣列的索引 1 位置索引連續 arr2 np.array 1,2,3,4,5 4,5,6,7,8 7,8,9,10,11 print arr2...

numpy分割函式

numpy.split 與concatenate函式對應,可通過axis引數選擇按行或列進行切割。並且通過引數indices or sections來指定切割的成的個數,或者指定乙個切割位置的列表或tuple numpy.vsplit 與vstack函式對應,對矩陣進行垂直方向上的切割,也就是按行進...