第一部分 python及应用数学基础
numpy常用操作
- 两种基本对象:
- ndarray(N-dimensional array object) 存储单一数据类型的多维数组
- ufunc(universal function object) 对数组今次那个处理的函数
-使用numpy时导入:
import numpy as np
创建ndarray
- 从已有数据中创建
- 将列表转换为ndarray
import numpy as np
list1 = [3.14,2.17,0,1,2]
nd1 = np.array(list1)
print(nd1)
print(type(nd1))
输出:
嵌套列表可以转化为多维ndarray
import numpy as np
list2 = [[3.14,2.17,0,1,2],[1,2,3,4,5]]
nd2 = np.array(list2)
print(nd2)
print(type(nd1))
- 利用random模块生成ndarray
- random 生成0到1之间的随机数
- uniform 生成均匀分布随机数
- randn 生成标准正态的随机数
- normal 生成正态分布
- shuffle 随机打乱顺序
- seed 设置随机数种子
seed( ) 用于指定随机数生成时所用算法开 始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
有无seed()区别:有seed()时,无论重复多少次IN[17]程序,得到的结果都相同;无seed()时,每次的结果都变化
生成一个随机种子,对生成的随机数打乱:
import numpy as np
np.random.seed(123)
nd5_1 = np.random.randn(2,3)
print(nd5_1)
np.random.shuffle(nd5_1)
print('随机打乱后数据')
print(nd5_1)
print(type(nd5_1))
- 创建特定形状的多维数组
例如0或1的数组或矩阵- np.zeros() 全是0的矩阵
- np.ones() 全是1的矩阵
- np.diag() 对角矩阵
- np.eye() 单位矩阵
import numpy as np
nd6 = np.zeros([3,3]) #生成全是0的3x3矩阵
nd7 = np.ones([3,3]) #生成全是1的3x3矩阵
nd8 = np.eye(3) #生成3阶的单位矩阵
nd9 = np.diag([1,2,3]) #生成3阶对角矩阵
将生成的数据保存到磁盘,再从磁盘读取
import numpy as np
nd10 = np.random.random([5,5])
np.sa