Numpy
基本操作
1.导入库:
import numpy as np
2.创建数组:
a = np.array([0, 1, 2, 3, 4] ) #使用array函数
a = np.array([[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25],
[26, 27, 28 ,29, 30],
[31, 32, 33, 34, 35]]) #创建多维数组
a=np.zeros((2, 3)) #创建两行三列的0填充的矩阵,ones(shape)则是创建1填充的
a=np.linspace(1., 4., 6) #创建1到4之间,共6个元素的等值间距的数组
a=np.arange(起,止,步长) #创建 从起到至,按步长排列的数组
a= np.indices((3,3)) #创建一个堆叠的更高维度的数组
3.多维数组的切片:
a[行,列],其中 :表示全部,a:b表示[a,b)范围,::a 表示步长为a
4.利用属性
.shape 查看几行几列,shape[0]查看行数
.ndim 查看数组的维度
.size查看数组一共多少项数据
.itemsize占用的字节数
.T 完成转置
.real 获取实部
.imag 获取虚部
5.基本操作符(+、-、*、/)
np中矩阵之间加减乘除是对应元素的+、-、*、/, 【注】一个数组加一个整数,则是对该数组每个元素加该整数,这个过程成为数组的广播
一些特殊的函数计算:
doc()函数,a.doc(b)表示ab矩阵对应元素乘积 求和
sum() #求和
min() #找出最小的元素
max() #找出最大的元素
mean() 返回均值
std() 返回标准方差
var() 返回方差
cumprod() #原数组该位置的前几项元素乘 (累乘数组),可以使用axis指定方向,0表示纵向,1表示横向,默认横向
cumsum() #原数组该位置的前几项元素和 (累加数组)
ptp() 返回最大值减去最小值
where() 函数 #条件函数,传入条件比如a>50这样的条件
mask #布尔屏蔽,可以将这个作为一个条件传入,比如mask=b>0,a[mask]就是大于0的那部分
6.数组操作
.reshape() 完成形状转换
.resize() 完成形状转换,但是会改变所作用的数组,有取代的意思。
.ravel() 将多为数组转换成为一维数组
.flatten()将多维数组转换为一维数组,但这个是拷贝,需要分配内存
.transpose() 转置
hstack() 水平叠加,将两个数组合并,水平方向上合并在一起
vstack() 垂直叠加,将两个数组合并,垂直方向,也就是加到第一个数组下面,构成一个更大的数组
concatenate(),通过设置一个axis值来确定水平叠加还是垂直叠加,axis=0为垂直叠加,1位水平叠加
hsplit() 纵向拆分
vsplit() 横向拆分
split() 通过设置axis值来确定纵向还是水平向拆分,axis=0位纵向,1位横向
tolist() 数组转换为list
astype() 数组转换为指定类型