数据挖掘笔记之Numpy

数组

np.array(((1,2))) #二维数组
arr[1,2] #取第二行、第三列的元素
arr[np.ix_([0,1],[1,2])] #取第一二行和第二三行列

np.genfromtxt(fname,dtype,comments,delimiter,skip_header,skip_footer,converters,missing_values,filling_values,usecols,names)
dtype:默认浮点型,含有字符型,使用str
comments:注释符
delimiter:列分隔符
missing_values:指定缺失值
filling_values:填充缺失值
usecols:读取列
names:设置列名称

arr.ndim
arr.shape
arr.size	#元素个数
arr.dtype
#改变形状
arr.reshape(2,9)
arr.resize(2,9)
#reshape只改变预览,不会改变原数组
#resize不会返回预览,会改变原数组
#拆分降为一维
arr.ravel()				#改变原数组
arr.flatten()			#不改变
arr.reshape(-1)
arr.ravel(order='F')	#列拆分降维
vstack([arr1,arr2]) = row_stack
hstack = column_stack
np.fabs()			#浮点绝对值
np.ceil()			#向上取整
np.floor()			#向下取整
np.round()			#四舍五入
np.fmod(arr,arr)	#取余
np.modf()			#返回小数和整数
np.square()			#返回平方根
np.exp()			#以e为底指数
np.power(arr, a)	#arr的a方

np.median(arr,axis)		#中位数
np.var(arr,axis)		#方差
np.cumsum(arr,axis)		#求和
np.cumprod(arr,axis)	#乘积
np.argmin(arr,axis)		#最小
np.argmax(arr,axis)		#最大

线性代数相关运算

线性代数相关运算使用np.linalg子模块

np.transpose()				#转置
np.dot(a,b)					#点乘
np.inner(a,b)				#内积
np.diag()					#主对角线与一维数组的相互转换
np.trace()					#主对角线之和
np.linalg.det				#行列式
np.linalg.eig				#特征根,特征向量
np.linalg.eigvals			#方阵特征根
np.linalg.inv				#逆
np.linalg.pinv				#Moore_Penrose伪逆
np.linalg.solve				#Ax=b的线性方程解
np.linalg.lstsq				#Ax=b的最小二乘解
np.linalg.qr				#QR分解
np.linalg.svd				#奇异值分解
np.linalg.norm				#范数
np.linalg.norm(arr,ord=1)		#一范数
np.linalg.norm(arr,ord=2)		#二范数
np.linalg.norm(arr,ord=np.inf)	#无穷范数
#存在λ和非零n维向量α,使Aα=λα,λ为特征根
arr = np.array([1,2,3],[4,5,6],[7,8,9])
np.linalg.eig(arr)

#多元线性回归模型的解
在这里插入图片描述
在这里插入图片描述

#多元一次方程组
Ax=b
np.linalg.solve(A,b)

#范数用来度量向量空间每个向量的长度或大小
非负性,齐次性,三角不等性
P范数

你可能感兴趣的:(数据基础)