API
import numpy as np# 初始化一个numpy的数组np.array([1, 2, 3])# 创建一个0-9的数组np.array(10)# 初始化一个默认值为0的二维数组np.zeros((10, 1))np.zeros((10, 10))# 初始化一个任意大小的二维数组np.full((10,10),2)# 查看数组的形状a = np.arange(10)a.shape# 查看维度a.ndim# 查看数组大小a.size# 修改数组的形状a = np.arange(100).reshape((10, 10))# 取值a[0][1] === a[0, 1]# 取一整行的值a[0, :]# 取第一行中第二个到倒数第二个的值a[0, 1:-1]# 或者只去偶数位的值 其中2代表步幅a[0, ::2]# 取0行和最后一行的值a[[0, -1], :]# 取出数组中大于50的数a[a > 50]# 取数组中的最大值np.max(a)# 求每一行的最大值 axis=1 代表行 axis=0 代表列np.max(a, axis=1)# 求每一行的和np.sum(a, axis=1)# 求每一行的sin值np.sin(a)# 获取最大值下标np.argmax(a)# 求均值 axis表示对行求均值np.mean([[1,2,3],[4,5,6]], axis=1)# 返回对数的值np.logspace(-0.6, -2.3, 5)# np.r_是按行连接两个矩阵,就是把两矩阵上下相加,要求行数相等# np.c_是按列连接两个矩阵,就是把两矩阵左右相加,要求列数相等data1 = [1,2,3,4]data2 = [1,2,3,4]np.c_[data1, data2]# 扁平化成一维数组ravela = np.arange(100).reshape(10,10).ravel()# emptynp.empty(3,2)# 数组乱序arr1 = np.arange(3)arr2 = np.random.permutation(len(arr1))arr1 = arr1[arr2]# 数组增加维度arr1 = np.array([1,2,3])arr1 = arr1[:, np.newaxis]arr1 = np.expand_dims(arr1, -1)
锻炼
https://github.com/sunwu51/notebook/blob/master/20.01/numpy101noanswer.ipynb
