numpy中的axis问题

最近入了数据科学的坑,首先遇到的就是numpy,但是numpy中有一个小白非常容易晕的问题,axis= 0 到底是对列索引还是行索引?axis = 1呢?

这个问题也困扰我许久,不过生活在互联网时代不会冲浪怎么行,于是找到了几篇讲的不错的答案。

知乎上关于此问题的回答:https://www.zhihu.com/question/58993137

一个大佬的解释:https://blog.csdn.net/fangjian1204/article/details/53055219

其实,对于一般的数学建模来说,二维数组够用,不需要多维,就把二维作为一个简单的例子讲解一下:

首先,需要仔细研读官方文档的说明:

轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。

看,官方定义的数组的索引是轴,并不是行和列。

axis = 0时索引的是列;

axis = 1时索引的是行;

举个栗子:

>>> import numpy as np
>>> a = np.arange(12).reshape((3,4))
>>> print(a)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
>>> np.sum(a , axis = 1) #索引的是行
array([ 6, 22, 38])

# 数组a一共三行,所以结果只有三个

继续:

>>> np.sum(a,axis = 0)
array([12, 15, 18, 21])

结果是每一列的和。

对于多维数组,这里就不详细说了,参考上面的博客,讲的很详细,很容易理解。

猜你喜欢

转载自blog.csdn.net/HollyRan/article/details/85653900
今日推荐