繁体   English   中英

重塑一个numpy数组

[英]Reshaping a numpy array

我想在iPython中重塑以下numpy数组:

array([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]]) # Array A

至:

array([[1, 5, 9],[2, 6, 10],[3, 7, 11],[4, 8, 12]]) # Array B

主要任务是计算数组A的第一个元素的平均值(即1,5,9的平均值),然后计算第二个元素,依此类推。

我认为最简单的方法是对数组进行整形,然后计算其均值。

有没有办法通过for循环不遍历整个数组?

mean上使用axis关键字; 无需reshape

>>> A = np.array([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]])
>>> A.mean(axis=0)
array([ 5.,  6.,  7.,  8.])

如果确实要删除数组B ,则需要转置数组,而不是对其进行整形:

>>> A.T
array([[ 1,  5,  9],
       [ 2,  6, 10],
       [ 3,  7, 11],
       [ 4,  8, 12]])

但是然后您需要将axis=1 mean

要进行这种计算,您应该使用numpy。

假设a是您的起始数组:

a.transpose()

会做到的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM