Numpy入门

Numpy入门

1、使用numpy创建矩阵

import numpy as np
t = np.array([[1, 2, 3, 4],
[5, 6, 7, 8]
[9, 10, 11, 12]]) # 创建一个三行四列的矩阵
t.transpose() # 矩阵转置
t.T # 矩阵转置
t.swapaxes # 矩阵转置

2、读取文件里的数据

Numpy入门

3、数组的索引与切片

t[1] #下表从0开始,这里表示取t的第二行
t[1:, :] #表示从第二行开始取,取到最后一行
t[:, 2:] #从第三列开始取,取到最后一列
t[[0, 2, 1], [0, 1, 1]] #表示取[0, 0], [2, 1], [1, 1]这些位置的值

4、数组中元素的修改

t[t>5] = 3 #将t中所有大于5的元素修改为3

np.where(t<5, 0, 10) #将t矩阵中所有小于5的元素修改为0,将大于5的元素修改为10

t.clap(5, 7) #将t中小于5的元素修改为5,大于7的元素修改为7

t = t.astype(float) #将t中元素修改为float

5、数组的拼接

np.vstack(t1, t2) #竖直拼接
np.hstack(t1, t2) #水平拼接

t[[1, 2], :] #交换第二行和第三行

np.zeros(行数,列数) #创建一个全为0的数组
np.ones(行数,列数) #创建一个全为1的数组
np.eye(3) #创建一个对角线全为1的方阵3*3

np.argmax(t, axis=0) #计算每一列的最大值
np.argmin(t, axis=1) #计算每一行的最小值 axis表示0轴,1轴

6、numpy生成随机数

Numpy入门
比较常用的是
np.random.randint(10, 20, (4, 5)) #生成一个4行5列的矩阵,里面的元素范围在10~20之间(包含10,
#但不包含20)
np.random.seed(10) #添加随机种子,如果有这行代码,代码中生成随机数据是总是相同的。

7、nan和inf

np.nan #在数组中出现一个nan表示该元素不是一个数
np.inf #在数组中出现一个inf表示该元素是一个无穷大

np.nan == np.nan #执行结果为false

np.count_nonzero(t) #统计t数组中不为0的元素个数
np.count_nonzero(t != t) #统计数组中nan的个数
np.count_nonzero(np.isnan(t)) #统计数组中nan的个数

8、numpy中常用统计函数

t.sum() #计算t中所有元素的和
t.sum(axis=0) #统计t中每一列的和,nan和任何值计算都为nan

t.max() #计算t中最大值,可以传参数axis ,axis=0表示取每一列的最大值 ,axis=1,表示取每一行的最大值
t.min() #计算t中最小值,可以传参数axis ,axis=0表示取每一列的最小值,axis=1,表示取每一行的最小值

np.ptp(t, axis=0) #计算极值

t.std() #计算标准差

t.mean() #计算t中所有元素的均值
t.mean(axis=1) # 计算每一列的均值

np.median(t) #计算t中所有元素的中值
np.median(t, axis=1) #计算每一列的中值