【问题标题】:Iterating numpy arrays and formatting into multi dimensional arrays迭代numpy数组并格式化为多维数组
【发布时间】:2021-06-16 10:51:57
【问题描述】:

我正在尝试编写一个 numpy 函数,它将下面的 Appending_list 函数组织成一个多维数组,用于 Values 的每次迭代。所以在第一次迭代中,第一行是Number_array + 0,第二行是Number_array + 1,第三行是Number_array + 2

import numpy as np
from numpy import random
Values = np.arange(0,3,1)
Number_array =  np.arange(1,5,1)
Appending_list = Number_array + Values * len(Number_array)

预期输出

[[1,2,3,4], [2,3,4,5], [3,4,5,6]]

【问题讨论】:

    标签: python arrays numpy multidimensional-array iterator


    【解决方案1】:

    您正在研究广播:

    Appending_list = Number_array + Values[:,None]
    

    输出:

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

    【讨论】:

      【解决方案2】:
      values = np.arange(1, 5)
      rows = 3
      # creates 3 rows of `[1, 2, 3, 4]`
      result = np.tile(values, rows).reshape((rows, len(values)))
      shifts = np.arange(3)
      # shifts the row values for each row by 0, 1, and 2 respectively
      result += shifts[:,None]
      

      结果

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

      【讨论】:

        猜你喜欢
        • 2016-01-28
        • 1970-01-01
        • 1970-01-01
        • 2021-12-02
        • 1970-01-01
        • 1970-01-01
        • 2011-12-28
        • 1970-01-01
        • 2021-05-13
        相关资源
        最近更新 更多