我想要重复的行
   
    numpy
   
   基于每行中第一个项的数值的数组。因此,如果值为1,则该行不会重复,但如果值为3,则该行将被表示3次。我试着用
   
    np.repeat
   
   和
   
    np.tile
   
   但我不知道他们是不是合适的工具,我还没想好是否有办法做到这一点。
  
  
   下面是我随机生成的数组:
  
  [[[3 1 3 1 2]
  [4 4 4 2 0]
  [3 4 4 4 0]
  [1 4 3 3 0]]
 [[4 2 0 2 1]
  [2 1 2 0 3]
  [4 1 3 4 3]
  [2 3 2 0 0]]]
  
   我的目标是:
  
  [[[3 1 3 1 2]
  [3 1 3 1 2]
  [3 1 3 1 2]
  [4 4 4 2 0]
  [4 4 4 2 0]
  [4 4 4 2 0]
  [4 4 4 2 0]
  [3 4 4 4 0]
  [3 4 4 4 0]
  [3 4 4 4 0]
  [1 4 3 3 0]]
 [[4 2 0 2 1]
  [4 2 0 2 1]
  [4 2 0 2 1]
  [4 2 0 2 1]
  [2 1 2 0 3]
  [2 1 2 0 3]
  [4 1 3 4 3]
  [4 1 3 4 3]
  [4 1 3 4 3]
  [4 1 3 4 3]
  [2 3 2 0 0]
  [2 3 2 0 0]]]
  
   这是我目前掌握的密码
  
  array = np.random.randint(5, size = (2, 4,5))
for a in array:
    for b in a:
        array = np.tile(a, (b[0],1))
  
   如果我打印
   
    b[0]
   
   ,我可以得到每个值。我想用这些值来复制每一行。
  
  3
4
3
1
4
2
4
2
  
   所以我想我可以循环遍历这些值,然后将每一行乘以相应的值来添加新行,但是我的结果一次只能重复第二个数组。
  
  [[4 2 0 2 1]
 [2 1 2 0 3]
 [4 1 3 4 3]
 [2 3 2 0 0]
 [4 2 0 2 1]
 [2 1 2 0 3]
 [4 1 3 4 3]
 [2 3 2 0 0]]
  
   我哪里做错了?我不应该用
   
    np.瓷砖
   
   ?