由两个数组创建的矩阵没有预期的尺寸

时间:2019-07-12 09:10:47

标签: arrays python-3.x numpy

这是我的第一个问题,我完全不熟悉Python,所以请耐心等待!

我正在开发代码,在这一步中,我试图创建一个包含2行和一定数量列的矩阵。第一行是一个数组,第二行是另一个数组(具有相同的长度),UaP和UbP可以在代码中看到。 可以看出,UaP和UbP均为(1,400),但是当我尝试通过组合两个来创建数组时,所得矩阵尺寸将为(2,1,400),而不是预期的2 x 400尺寸。 我尝试了不同的事情,但我没有达到我的期望。也许有一个简单的技巧可以解决?预先感谢。

```python

将numpy导入为np

#some codes here
UaP = 0.5*(Ua-Ub90)
UbP = 0.5*(Ub+Ua90)
UabP = np.array([(UaP),(UbP)])
# shapes of arrays
UbP.shape
(1, 400)
UaP.shape
(1, 400)
UabP = np.array([(UaP),(UbP)])
UabP.shape
(2, 1, 400)

1 个答案:

答案 0 :(得分:0)

那是因为您的第一个数组的形状为(1,400)而不是(400,)。 您可以尝试以下方法:

import numpy as np

UaP = np.random.rand(1,400)
UbP = np.random.rand(1,400)

# first solution
UabP = np.array([UaP[0],UbP[0]])
print(UabP.shape)

# second soluton
UabP = np.array([UaP,UbP])
UabP = UabP.reshape(1,2,400)
UabP = UabP[0]
print(UabP.shape)