Python自带
range() range(a):生成0到a-1的a个数字;
len() 求长度,对2-D array返回行数;
format() 对使用科学计数法表示的数保留指定的小数点后位数;
min() 求最小值;
abs() 求平均值;
round() 四舍五入,保留至小数点后指定位数(坑很大);
type() 查看括号内数据的类型;
assert() 断言,当括号内表达式为True时程序继续进行,为False时则出发异常。断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况。
numpy模块(np)
import numpy as np
np.multiply() 数组元素逐个相乘,与*类似。两个二维数组A,B相乘时,当A,B的某个维度不同时会触发python的广播机制,如A.shape=(1,3),B.shape=(2,3),则在进行相乘运算时,python会自动将A的shape变为(2,3)与B进行逐个元素的相乘,当然运算后A的shape仍为(1,3);
np.nan_to_num(x) 使用0代替数组x中的nan元素,使用有限的数字代替inf元素(nan是not a number,inf是无穷大),然后求和;
np.exp() 自然底数e;
np.log() 以e为底,np.log10():以10为底;
np.sqrt() 求算术平方根;
np.mean() 计算指定轴的算术平均值。返回数组元素的平均值。默认的情况下,求均值的操作在平展开来的数组上进行,否则就在指定的轴上。如果是二维矩阵,axis=0返回列的平均值,axis=1返回行的平均值;
np.var() 求方差;
np.std() 求标准差的时候默认是除以 n 的,即是有偏的,np.std()无偏样本标准差方式为加入参数 ddof = 1;
np.dot() 矩阵相乘;
np.append() 两个array的拼接(至少有一个维度相同),axis=0:沿纵轴拼接;axis=1:沿横轴拼接(要么一个数组和一个数值;要么两个数组,不能三个及以上数组直接append拼接);
np.concatenate((a1,a2,…), axis=0) 能够一次完成多个数组的拼接。其中a1,a2,…是数组类型的参数,axis=0:沿纵轴拼接;axis=1:沿横轴拼接;
X = X[:,np.newaxis] 将一维array X转换为二维;
np.empty(shape=[a,b]) 创建一个a行b列的空array;
np.int64() 对True元素返回1,False元素返回0;
np.diag() 相当于MATLAB中的diag,生成对角矩阵,示例:y=np.diag([1,2]),y为[ [1 0] [0 2] ];
np.squeeze(a,axis = None) 从数组的shape中删除单维度条目,即把shape中为1的维度去掉(详细参考)。
np.delete() 删除ndarray元素(参考)
scipy模块
from scipy.stats import norm
norm.pdf() 标准正态分布的概率密度函数;
norm.cdf() 标准正态分布的累计分布函数;
norm.ppf() 标准正态分布的累计分布函数的反函数;
from scipy import linalg
linalg.solve(A,b) 求解线性方程组,eg:
A = np.array([[1,0.001, 250,0.0012,2502],[1,0.0016, 250,0.00162,2502],[1,0.00099, 250,0.000992,2502], [1,0.001,362.5,0.0012,362.52],[1,0.001,137.5,0.0012,137.52]]) # A代表系数矩阵
b = np.array([13.6746, 10.8053, 16.5475,16.8919,-10.2998]) # b代表常数列
x = linalg.solve(A, b)
PIL模块
from PIL import Image
img = Image.open(‘路径’):打开指定路径图片;
img.show():调用系统自带的图片浏览器打开图片;
import matplotlib.pyplot as plt
img = Image.open(‘路径’) #打开指定路径图片
plt.figure(‘dog’) #创建标题为“dog”的图窗
plt.imshow(img) #将img导入图窗
plt.show() #显示图片