Numpy和阵列形状

时间:2018-01-12 22:52:14

标签: python numpy

我有一个多维数组,我想塑造成(19381,100,6)。一旦我将数组转换为numpy数组,我得到的形状是(19381,)

Input: d.shape
Output: (19381,)
Input: d[0].shape
Output: (100,6)
Input: d[0][0].shape
Output: (6,)
Input: if any(i.shape != (100,6) for i in d):
           print(True)
       else:
           print(False)
Output: False

我错过了什么?我尝试过使用

d.shape = (19381,100,6)

但我得到一个"无法重塑19381大小的阵列(19381,100,6)

谢谢,

伊恩

1 个答案:

答案 0 :(得分:0)

由于我创建numpy数组的方式,问题出现了。我试图做像

这样的事情
l1 = [1,2,3,4]
l2 = [5,6,7,8]
l = zip(l1, l2)
np.random.shuffle(l)
l1, l2 = np.array(zip(*l))

我将代码更改为

l1, l2 = zip(*l)
l1 = np.array(l1)
l2 = np.array(l2)

形状输出与预期一致。