我有以下内容:
for i in xrange(n):
label = labels[i]
frame = data[:, i]
dostuff()
数据是2-D numpy
数组。我想用izip
重写它。
for label, frame in izip(labels, ???):
dostuff()
如何更换???
以使其生效?
答案 0 :(得分:3)
如果您真的想使用izip()
,可以这样做:
for label, frame in izip(labels, data.T):
dostuff()
通常建议不要使用Python循环迭代NumPy数组,而是使用NumPy ufuncs在C代码中执行循环。如何做到这一点取决于dostuff()
实际做了什么。
答案 1 :(得分:1)
您可以使用:
??? = numpy.transpose(data)
编辑:删除第二个版本。因为转置不像我想象的那样复制数组,所以没有理由像我一样疯狂。