Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将二维数组转换为重复现有值的三维数组_Python_Arrays_Multidimensional Array_Reshape - Fatal编程技术网

Python 将二维数组转换为重复现有值的三维数组

Python 将二维数组转换为重复现有值的三维数组,python,arrays,multidimensional-array,reshape,Python,Arrays,Multidimensional Array,Reshape,我有一个形状数组(360480),包含从1到11的值 Array([[ 1, 1, 1, ..., 1, 1, 1], [ 1, 1, 1, ..., 1, 1, 1], [ 1, 1, 1, ..., 1, 1, 1], ..., [ 4, 4, 4, ..., 11, 11, 11], [ 4, 4, 4, ..., 11, 11, 11], [ 4, 4, 4, ..., 11, 11, 11]]) 我怎样才

我有一个形状数组(360480),包含从1到11的值

 Array([[ 1,  1,  1, ...,  1,  1,  1],
   [ 1,  1,  1, ...,  1,  1,  1],
   [ 1,  1,  1, ...,  1,  1,  1],
   ...,
   [ 4,  4,  4, ..., 11, 11, 11],
   [ 4,  4,  4, ..., 11, 11, 11],
   [ 4,  4,  4, ..., 11, 11, 11]])
我怎样才能将这个数组重塑成一个数组的形状(360480,3)呢

np.all(array[:,:,0]==array[:,:,1])

都是真的吗? 预期结果应该是:

array([[[ 1,  1,  1],
    [ 1,  1,  1],
    [ 1,  1,  1],
    ...,
    [ 1,  1,  1],
    [ 1,  1,  1],
    [ 1,  1,  1]],

   [[ 4,  4,  4],
    [ 4,  4,  4],
    [ 4,  4,  4],
    ...,
    [11, 11, 11],
    [11, 11, 11],
    [11, 11, 11]],

   [[ 4,  4,  4],
    [ 4,  4,  4],
    [ 4,  4,  4],
    ...,
    [11, 11, 11],
    [11, 11, 11],
    [11, 11, 11]]])

您可以使用numpy.repeat函数


这正是我要找的!它按我的要求工作!
array([[[ 1,  1,  1],
    [ 1,  1,  1],
    [ 1,  1,  1],
    ...,
    [ 1,  1,  1],
    [ 1,  1,  1],
    [ 1,  1,  1]],

   [[ 4,  4,  4],
    [ 4,  4,  4],
    [ 4,  4,  4],
    ...,
    [11, 11, 11],
    [11, 11, 11],
    [11, 11, 11]],

   [[ 4,  4,  4],
    [ 4,  4,  4],
    [ 4,  4,  4],
    ...,
    [11, 11, 11],
    [11, 11, 11],
    [11, 11, 11]]])
array3d = np.repeat(array2d[:, :, None], repeats=3, axis=2)