【发布时间】:2013-05-05 06:48:36
【问题描述】:
我正在尝试使用 np.nditer() 迭代嵌套 (numpy) 数组。
将嵌套的整数列表转换为嵌套的 numpy 数组。
from numpy import mean, array, nditer
nested_list = [[1,2,3],[2,3,4],[3,4,5],[4,5,6]]
np_array = []
for i in nested_list:
a = array(nested_list)
np_array.append(a)
上述工作,屈服;
[array([[1,2,3],
[2,3,4],
[3,4,5],
[4,5,6]])]
我想计算每个嵌套子列表的平均值...我已经尝试过了,但它不能正常工作。
np_mean = []
c = 0
for i in nditer(np_array):
m = mean(i)
np_mean_rep.append(m)
c += 1
print np_mean_rep
...这有点扁平化嵌套数组,所以我不指向每个嵌套子列表,而是指向每个值。我将如何以某种方式使用 nditer 以使其起作用?任何指针将不胜感激!
【问题讨论】:
-
嗯.. 好的。我刚刚搜索了 numpy 数组并找到了 nditer。但是,尝试此操作时: np_array = [] for i in nested_array: b = array(nested_list).mean(axis=1) print np_array.append(b) 我得到 None
-
但是如果数组是嵌套的(如上),那么我应该指向每个子列表,对吧?然后计算每个的平均值并将其附加到 np_array 列表中? axis=1 指向什么?我是 python 和 numpy 的初学者。
标签: python-2.7 numpy iteration multidimensional-array