NumPy

NumPy Quickstart チュートリアルに取り組む (2-3) 形状の操作 1つの配列を小さな配列に分割

# hsplit で配列を水平軸に沿って分割できる
import numpy as np
rg = np.random.default_rng(1) 
a = np.floor(10*rg.random((2,12)))
print(a)
'''
[[5. 9. 1. 9. 3. 4. 8. 4. 5. 0. 7. 5.]
 [3. 7. 3. 4. 1. 4. 2. 2. 7. 2. 4. 9.]]
'''

print(np.hsplit(a,3))
'''
[array([[ 5., 9., 1., 9. ], [ 3., 7., 3., 4. ]]),
 array([[ 3., 4., 8., 4. ], [ 1., 4., 2., 2. ]]), 
 array([[ 5., 0., 7., 5. ], [ 7., 2., 4., 9. ]])]
'''

print(np.hsplit(a,(3,4)))
'''
[array([[ 5., 9., 1. ], [ 3., 7., 3. ]]), 
 array([[ 9. ],  [ 4. ]]), 
 array([[ 3., 4., 8., 4., 5., 0., 7., 5. ], [ 1., 4., 2., 2., 7., 2., 4., 9. ]])]
'''

# vsplit は縦軸に沿って分割し array_split はどの軸に沿って分割するか指定できる