之前最初接触pandas的时候就了解了axis = 0代表行,axis = 1代表列,当时觉得蛮好理解的。
今天在学习Numpy中二维数组求和的过程中发现了一点疑惑,具体问题是这样的:
a = np.array([
[1,2,3],
[2,3,4]
])
print(np.sum(a,axis = 0)
这就是一个很简单的矩阵单列求和的问题,但是当时认为axis = 0代表行,所以应该是每行求和才对,后来看了看别人的博客豁然开朗。
首先行和列是无向的,而轴是有方向的,试想一下我们中学时期就接触的坐标轴。
那么对于一个二维数组来说,它应该也存在两个方向,一个是横向轴(从左到右),一个是纵向轴(从上到下)。
axis = 0代表行,那么就可以理解为每一行是作为一个整体存在的,那么其实整个二维数组就变成了一个自上而下的一维数组,这很明显是一个纵向轴。
所以,axis = 0就代表着在纵向轴上进行相应的操作,而非之前所想的横向。
总结成一句话就是:axis = 0表示行和纵向,axis = 1代表列和横向。