您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在numpy.sum中没有清楚地理解python – axis = 0

5b51 2022/1/14 8:22:40 python 字数 2012 阅读 571 来源 www.jb51.cc/python

我正在学习 Python,并遇到过numpy.sum.它有一个可选的参数轴.此参数用于获取逐列求和或逐行求和.当axis = 0时,我们意味着仅对列进行求和.例如, a = np.array([[1, 2, 3], [4, 5, 6]]) np.sum(a, axis = 0) 这段代码产生输出:array([5,7,9]),很好.但如果我这样做: a = np.array([1, 2, 3])

概述

a = np.array([[1,2,3],[4,5,6]])
np.sum(a,axis = 0)

这段代码产生输出:array([5,7,9]),很好.但如果我这样做:

a = np.array([1,3])
np.sum(a,axis = 0)

我得到结果:6,为什么?我不应该得到阵列([1,3])?谢谢.

In [2]: a = np.array([1,3])

In [3]: a.shape
Out[3]: (3,)

In [4]: len(a.shape) # number of dimensions
Out[4]: 1

In [5]: a1 = a.reshape(3,1)

In [6]: a2 = a.reshape(1,3)

In [7]: a1
Out[7]: 
array([[1],[2],[3]])

In [8]: a2
Out[8]: array([[1,3]])

In [9]: a1.sum(axis=1)
Out[9]: array([1,3])

In [10]: a1.sum(axis=0)
Out[10]: array([6])

In [11]: a2.sum(axis=1)
Out[11]: array([6])

In [12]: a2.sum(axis=0)
Out[12]: array([1,3])

所以,更明确一点:

In [15]: a1.shape
Out[15]: (3,1)

a1是二维的,“长”轴是第一个.

In [16]: a1[:,0] # give me everything in the first axis,and the first part of the second
Out[16]: array([1,3])

现在,沿第一轴求和:

In [17]: a1.sum(axis=0)
Out[17]: array([6])

现在,考虑一个不那么微不足道的二维案例:

In [20]: b = np.array([[1,6]])

In [21]: b
Out[21]: 
array([[1,6]])

In [22]: b.shape
Out[22]: (2,3)

一个轴是“行”.沿着行汇总:

In [23]: b.sum(axis=0)
Out[23]: array([5,9])

第二个轴是“列”.列总结:

In [24]: b.sum(axis=1)
Out[24]: array([ 6,15])

总结

以上是编程之家为你收集整理的在numpy.sum中没有清楚地理解python – axis = 0全部内容,希望文章能够帮你解决在numpy.sum中没有清楚地理解python – axis = 0所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶