Numpy 基础
- 操作对象:
Vectors:一组相同的对象,方便计算。
Metrics:二维矩阵
Arrays:多维数组。
Vectorized computing 向量化计算,批量对数据进行处理。 - 实际语法
import numpy as np #导入 numpy 包
lst = [10, 20, 30, 40] #可以创建列表 []
arr = np.array([10, 20, 30, 40]) #也可以传入列表来创建一个数组
lst[1] #用下标来访问列表内容。
arr[0] # array 是一维数组,也用类似列表方式访问。
arr[-1] #访问最后一个参数
arr[2:] #从下标2开始的所有对象
lst[-1] = 'a string inside a list' #List 对象可以异质, Array 必须同质
arr.dtype # dtype 可以了解数据类型
arr[-1] = 1.234 #数据将会被强制转型为 1
np.zeros(5, dtype=float) #可以创建初始值为0,1的数组
np.zeros(3, dtype=complex) #还可以创建复数
np.ones(5,dtype = float)
a = np.empty(4) #可以创建空数组,并用自己需要进行赋值。
a.fill(3.7)
np.arange(5) #创建递增序列
np.linespace(0,10,6) #创建0,2,4,6,8,10 的等差数列
np.logspace(1,3,4) #创建10的1次方,到10的3次方之间的对数 数列
np.random.randn(5) #创建随机值数组
np.random.normal(10,2,5)#创建符合正态分布的均值10,标准差2的数列
norm10[norm10 > 9] = 0 #可以按条件选取对象,只要大于9的都赋为0
lst2 = [[1,2],[3,4]] #创建二维数组
lst2[0,1] #直接用下标访问
arr = np.random.normal(10,3,(2,4))
arr.reshape(4.2) #改变数组形状
arr1 = arr #数组复制是指针,修改内容其它数组也会变化
arr2[:,2] #数组可以切片访问, 代表所有行,下标2的第3列
arr2[1] #指第2行
arr2.min()#最小值
arr2.max()#最大值
arr2.sum()#求和
arr2.prod()#求积
arr2.mean()#平均值
arr2.std()#标准差
arr2.sum(axis = 1) #不考虑第2个维度求和
arr.T # 转置
arr1 + arr2 #每个位置分别相加
1.5 * arr1 #低维会向高维补足,每个位置都 1.5
Paste_Image.png
np.dot(V1,V2) # dot 代表矩阵乘法
np.savetxt('test.out', arr, fmt='%.2e', header="My dataset") #保存到磁盘
arr2 = np.loadtxt('test.out') #读取数据
补充阅读材料
- numpy.org
- 利用python 进行数据分析 第4章
3 Numerical Python 第2章 - Scipy Lectures 第3章
- 欧姆社学习漫画:漫画线性代数
作业
使用循环和向量化两种不同的方法来计算100以内质数之和。
模拟一个醉汉在二维空间上的随机漫步。
使用梯形法计算一个二次函数的数值积分。
网友评论