Dar*_*ger 0 python arrays numpy reshape
我想在iPython中重塑以下numpy数组:
array([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]]) # Array A
Run Code Online (Sandbox Code Playgroud)
至:
array([[1, 5, 9],[2, 6, 10],[3, 7, 11],[4, 8, 12]]) # Array B
Run Code Online (Sandbox Code Playgroud)
主要任务是计算数组A的第一个元素的平均值(意味着平均值为1,5,9),然后是第二个元素等.
我认为最简单的方法是重新整形数组,然后计算它的平均值.
有没有办法在没有通过循环遍历数组的情况下执行此操作for?
使用axis关键字on mean; 无需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.])
Run Code Online (Sandbox Code Playgroud)
如果你确实需要数组B,那么你需要转置数组,而不是重新整形:
>>> A.T
array([[ 1, 5, 9],
[ 2, 6, 10],
[ 3, 7, 11],
[ 4, 8, 12]])
Run Code Online (Sandbox Code Playgroud)
但随后你需要给axis=1到mean.