numpy在现有np.array的一个轴上追加多个不同的np.array

时间:2018-12-21 09:55:31

标签: python numpy

我有

x = np.array([[1, 5], [2, 8]])
x.shape

x的形状是(2,2)

如何制作新的数组y,其中将包含40个形状相同的x的不同数组?所需的y数组的尺寸应为(40,2,2)

当我尝试y = np.expand_dims(x,axis = 1)时,它的形状为(2,1,2)。 我不明白numpy如何在不同的轴上附加东西... 谢谢!

3 个答案:

答案 0 :(得分:1)

由于您编写的是数组 getClient(data){ console.log(data); } ,因此可以简单地将零数组初始化为

y

在其中提供数组y = np.zeros((40, x.shape[0],x.shape[1])) print (y.shape) # (40, 2, 2) 的大小。

编辑

根据您在下面的评论,这是答案。您可以使用dstack,在此处提供要作为元组x进行堆叠的数组,并沿第三轴堆叠它们。

(x, z)

编辑2

要将其堆叠在前面,可以使用x = np.array([[1, 5], [2, 8]]) z = np.array([[11, 55], [22, 88]]) y = np.dstack((x,z)) y.shape # (2, 2, 2) 交换第一轴和第三轴。

swapaxes

答案 1 :(得分:0)

尝试一下:

publish_date        specification price
    1   2017-08-01 3/4inches|20x20|4.56 12.34
    2   2017-08-01 3/4inches|20x21|5.56 12.54
    3   2017-08-01 **3/4inches|20x22|7.11** **16.14**     
    4   2017-08-02 3/4inches|20x20|4.56 12.34
    5   2017-08-02 3/4inches|20x21|5.56 12.54
    6   2017-08-02 3/4inches|20x22|7.11 **16.14**    
    7   2017-08-03 3/4inches|20x20|4.56 12.34
    8   2017-08-03 3/4inches|20x21|5.56 12.54
    9   2017-08-03 3/4inches|20x22|7.11 **16.14**

输出形状为(40,2,2)。

答案 2 :(得分:0)

您似乎想在一个新维度上将多个数组连接在一起:

import numpy as np
x = np.array([[1, 5], [2, 8]])
y = np.array([[11, 55], [22, 88]])

z = np.array([x, y, x])
print(z.shape)  # (3, 2, 2)