本章主要介绍的是ndarray数组的操作和运算!
操作是指对数组的索引和切片。索引是指获取数组中特定位置元素的过程;切片是指获取数组中元素子集的过程。
1、一维数组的索引和切片与python的列表类似:
索引:
import numpy as np a = np.array([9, 8, 7, 6, 5]) print(a[2]) 7
切片:起始编号:终止编号:(不含):步长 三元素用冒号分割
import numpy as np a = np.array([9, 8, 7, 6, 5]) print(a[1:4:2]) [8 6]
2、多维数组的索引和切片:
索引:
import numpy as np a = np.arange(24).reshape((2, 3, 4)) print(a) print(a[1, 2, 3]) print(a[0, 1, 2]) print(a[-1, -2, -3]) [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]] 23 6 17
切片:选取一个维度用:
import numpy as np a = np.arange(24).reshape((2, 3, 4)) print(a) print(a[:, 1, -3]) print(a[:, 1:3, :]) print(a[:, :, ::2]) [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]] [ 5 17] [[[ 4 5 6 7] [ 8 9 10 11]] [[16 17 18 19] [20 21 22 23]]] [[[ 0 2] [ 4 6] [ 8 10]]
1、数组与标量之间的运算作用于数组的每一个元素:
import numpy as np a = np.arange(24).reshape((2, 3, 4)) print(a) print(a.mean()) print(a / a.mean()) [[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]] 11.5 [[[0. 0.08695652 0.17391304 0.26086957] [0.34782609 0.43478261 0.52173913 0.60869565] [0.69565217 0.7826087 0.86956522 0.95652174]] [[1.04347826 1.13043478 1.2173913 1.30434783] [1.39130435 1.47826087 1.56521739 1.65217391] [1.73913043 1.82608696 1.91304348 2. ]]]
2、Numpy的一元函数:
对ndarray中的数据执行元素级运算的函数:
原文:https://www.cnblogs.com/lsyb-python/p/11900845.html