数组轴

33 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第二十天,点击查看活动详情

总结:此文为12月更文计划第二十天第三十五篇。

numpy数组轴

对于数组按照轴相加,默认是按照0轴进行相加,也可以自己指定相加的轴:

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

输出结果为:

image.png

具体实现的原理就是

1 2 3

4 5 6

按照0轴相加的结果为:(0轴就是y轴) 1+4,2+5,3+6

如果按照1轴相加的话,就是按照x轴进行相加,相加的方法为:

1+2+3,4+5+6

print(np.sum(a,axis=1))

具体相加结果为:

image.png

三维数组相加

对于三维度数组相加:

a=np.arange(27).reshape((3,3,3))
print(a)
print('-'*15)
print(np.sum(a,axis=0))
print(np.sum(a,axis=1))
print(np.sum(a,axis=2))

具体的输出结果为:

image.png

0轴为向下以此加,

1轴为0+3+6=9,1+4+7=12,2+5+8=15放在第一行。

2轴为组内横向相加:0+1+2=3,3+4+5=12,6+7+8=21放在第一行。

索引和切片

对于切片的方法和列表是一致的,start:stop:stop,比如a[2,8,2]表示从2-8每次步长为2。

举例如下:

a=np.arange(10)
print(a)
print(a[2:])
print(a[2:9:3])

左闭右开

对于以上的输出结果为:

image.png

二维数组的切片

对于二维数组的切片的学习举例如下:

a=np.arange(24).reshape(4,6)
print(a)
print('-'*25)
print(a[1])
print('-'*25)
print(a[[0,2,3]])
print('-'*25)
print(a[1:])

输出结果为:

image.png

依旧是左闭右开:

print('-'*25)
print(a[1:3])
print('-'*25)
print(a[1,3])

输出结果为:

image.png

按照列来取:

print(a[:,1])

前面必须加:符号才行。

取连续的多列:

print(a[:,1:])

以上按照列来取输出结果为:

image.png