在Python中使用重整形来重整数组

皮皮

我有一个看起来像下面的数组:

array([[0, 0, 0, 0, 0, 0, 0, 0],
       [1, 1, 1, 1, 1, 1, 1, 1],
       [2, 2, 2, 2, 2, 2, 2, 2],
       [3, 3, 3, 3, 3, 3, 3, 3],
       [4, 4, 4, 4, 4, 4, 4, 4],
       [5, 5, 5, 5, 5, 5, 5, 5],
       [6, 6, 6, 6, 6, 6, 6, 6],
       [7, 7, 7, 7, 7, 7, 7, 7]])

我如何使用重塑将其分成4个卡盘,看起来像

array([[[0, 0, 0, 0],  
       [1, 1, 1, 1],  
       [2, 2, 2, 2],  
       [3, 3, 3, 3]],  
       [[0, 0, 0, 0],  
       [1, 1, 1, 1],  
       [2, 2, 2, 2],  
       [3, 3, 3, 3]], 
       [[4, 4, 4, 4],
       [5, 5, 5, 5],
       [6, 6, 6, 6],
       [7, 7, 7, 7]],
       [[4, 4, 4, 4],
       [5, 5, 5, 5],
       [6, 6, 6, 6],
       [7, 7, 7, 7]]])

我在reshape(m,n,l)中尝试了m,n,l的不同整数组合,但是没有一个有效。

塞贝格

编辑:对不起,我没有意识到这是3维结果,而不是4维结果。要获得3-d,必须再次重塑形状。额外的重塑复制数据。

您不能,也需要转置:

In [1]: a = np.arange(8)[:,None].repeat(8,axis=1)

In [2]: a
Out[2]: 
array([[0, 0, 0, 0, 0, 0, 0, 0],
       [1, 1, 1, 1, 1, 1, 1, 1],
       [2, 2, 2, 2, 2, 2, 2, 2],
       [3, 3, 3, 3, 3, 3, 3, 3],
       [4, 4, 4, 4, 4, 4, 4, 4],
       [5, 5, 5, 5, 5, 5, 5, 5],
       [6, 6, 6, 6, 6, 6, 6, 6],
       [7, 7, 7, 7, 7, 7, 7, 7]])

In [3]: b = a.reshape(2,4,2,4)

In [4]: b
Out[4]: 
array([[[[0, 0, 0, 0],
         [0, 0, 0, 0]],
         ...
        [[7, 7, 7, 7],
         [7, 7, 7, 7]]]])

In [5]: b.transpose(0,2,1,3)
Out[5]: 
array([[[[0, 0, 0, 0],
         [1, 1, 1, 1],
         [2, 2, 2, 2],
         [3, 3, 3, 3]],

        [[0, 0, 0, 0],
         [1, 1, 1, 1],
         [2, 2, 2, 2],
         [3, 3, 3, 3]]],


       [[[4, 4, 4, 4],
         [5, 5, 5, 5],
         [6, 6, 6, 6],
         [7, 7, 7, 7]],

        [[4, 4, 4, 4],
         [5, 5, 5, 5],
         [6, 6, 6, 6],
         [7, 7, 7, 7]]]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用素数维数重整数组时出错

来自分类Dev

使用Python进行双重整合

来自分类Dev

Stata:使用循环来保留和重整变量的子集

来自分类Dev

C#重整形数组1-> 2 D,无需复制数据

来自分类Dev

使用重整形将重复测量的列名称添加为前缀而不是后缀

来自分类Dev

用列名R中的id变量重整形

来自分类Dev

重整形状时将值标签带到变量标签

来自分类Dev

使用重整形将R中的数据帧从长更改为宽。未定义列错误

来自分类Dev

如果数据具有单个特征,则使用array.reshape(-1,1)重整数据;如果包含单个样本,则使用array.reshape(1,-1)重整数据。

来自分类Dev

在R中重整形而不聚合(例如MTurk响应字符串)

来自分类Dev

使用bash重整表并使用NA(或-999)填充空隙

来自分类Dev

python私有属性名称重整继承

来自分类Dev

R使用列存根字符串重整到长

来自分类Dev

将整数范围重整为较小的整数范围(Unity(C#))

来自分类Dev

重整形数据框,不包含“ timevar”和从长格式到宽格式的多个值列

来自分类Dev

OCaml 三重整数列表中的每个数字

来自分类Dev

用重复的变量重整整齐的参差不齐的宽数组,以使r变长

来自分类Dev

表单对象:将重整宝石与用户/宠物示例一起使用

来自分类Dev

使用所有可能的组合将宽数据重整为长数据

来自分类Dev

R-重整数据集以包括所有条件的值,即使它们为零

来自分类Dev

重整和汇总不定期的数据

来自分类Dev

节点重整父路径处理程序

来自分类Dev

如何在C ++中删除重整

来自分类Dev

将数据重整为无定量数据

来自分类Dev

假设我不使用任何重载函数,是否有办法可以停止所有名称重整?

来自分类Dev

用不同的开始/结束元素编号重整行

来自分类Dev

用非数值重整R中的数据框

来自分类Dev

在R中的数据框中将数据从行重整为列

来自分类Dev

将数据框重整为平均值的堆栈

Related 相关文章

  1. 1

    使用素数维数重整数组时出错

  2. 2

    使用Python进行双重整合

  3. 3

    Stata:使用循环来保留和重整变量的子集

  4. 4

    C#重整形数组1-> 2 D,无需复制数据

  5. 5

    使用重整形将重复测量的列名称添加为前缀而不是后缀

  6. 6

    用列名R中的id变量重整形

  7. 7

    重整形状时将值标签带到变量标签

  8. 8

    使用重整形将R中的数据帧从长更改为宽。未定义列错误

  9. 9

    如果数据具有单个特征,则使用array.reshape(-1,1)重整数据;如果包含单个样本,则使用array.reshape(1,-1)重整数据。

  10. 10

    在R中重整形而不聚合(例如MTurk响应字符串)

  11. 11

    使用bash重整表并使用NA(或-999)填充空隙

  12. 12

    python私有属性名称重整继承

  13. 13

    R使用列存根字符串重整到长

  14. 14

    将整数范围重整为较小的整数范围(Unity(C#))

  15. 15

    重整形数据框,不包含“ timevar”和从长格式到宽格式的多个值列

  16. 16

    OCaml 三重整数列表中的每个数字

  17. 17

    用重复的变量重整整齐的参差不齐的宽数组,以使r变长

  18. 18

    表单对象:将重整宝石与用户/宠物示例一起使用

  19. 19

    使用所有可能的组合将宽数据重整为长数据

  20. 20

    R-重整数据集以包括所有条件的值,即使它们为零

  21. 21

    重整和汇总不定期的数据

  22. 22

    节点重整父路径处理程序

  23. 23

    如何在C ++中删除重整

  24. 24

    将数据重整为无定量数据

  25. 25

    假设我不使用任何重载函数,是否有办法可以停止所有名称重整?

  26. 26

    用不同的开始/结束元素编号重整行

  27. 27

    用非数值重整R中的数据框

  28. 28

    在R中的数据框中将数据从行重整为列

  29. 29

    将数据框重整为平均值的堆栈

热门标签

归档