我想将一个矩阵按列分割为不同的矩阵,即从n*20的矩阵变为20个n*1的矩阵。请问要怎么实现呢?
这是我的部分数据,一共有数千行,20列,数据为浮点数
我想将一个矩阵按列分割为不同的矩阵,即从n*20的矩阵变为20个n*1的矩阵。请问要怎么实现呢?
这是我的部分数据,一共有数千行,20列,数据为浮点数
直接切片,或者用np.hsplit()函数,都可以吧。
>>> import numpy as np
>>> a = np.random.random((5,20))
>>> a.shape
(5, 20)
>>> a[:,0] # 直接切片示例,这是第0列
array([0.35594877, 0.23039528, 0.12543397, 0.44093741, 0.87915851])
>>> b = np.hsplit(a, 20) # 一次性切出20列,返回list
>>> type(b)
<class 'list'>
>>> len(b)
20
>>> type(b[0])
<class 'numpy.ndarray'>
>>> b[0].shape
(5, 1)
>>> b[0]
array([[0.35594877],
[0.23039528],
[0.12543397],
[0.44093741],
[0.87915851]])
>>> b[0].ravel() # 展平
array([0.35594877, 0.23039528, 0.12543397, 0.44093741, 0.87915851])