來自 《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函式對應,對矩陣進行垂直方向上的切割,也就是按行進...