微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

迭代 numpy 数组并格式化为多维数组

如何解决迭代 numpy 数组并格式化为多维数组

我正在尝试编写一个 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,4],[2,4,5],[3,6]]

解决方法

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,4],[2,4,5],[3,5,6]])
,

您正在研究广播:

Appending_list = Number_array + Values[:,None]

输出:

array([[1,6]])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。