【发布时间】:2020-07-22 18:20:41
【问题描述】:
data 是一个 1256x277 矩阵
np.array_split(ary=data, indices_or_sections=10, axis=1) 为我们提供了一个 1256x28 数据列表
但是当我这样做时:
sub_data_ndarray = np.array(object=np.array_split(ary=data, indices_or_sections=10, axis=1))
我得到错误:
ValueError: 无法将输入数组从形状 (1256,28) 广播到 形状 (1256)
?
【问题讨论】:
-
检查
np.array_splt产生的所有数组是否具有相同的形状。 -
@hpaulj 结果是七个 1256x28 矩阵和三个 1256x27 矩阵。
-
那么你不能将它们重新组合成一个 3d 数组。
-
@hpaulj 嗯,但我不想这样做。我想将结果列表 [sub_data, sub_data, sub_data] 转换为 ndarray,以便我可以使用 ndarray 选择操作。而那些 sub_data 恰好是一个矩阵。
-
你想到了什么样的
ndarray selection operations?充其量你可以制作一个对象 dtype 数组。我可以告诉你怎么做,但是......