作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此。
python做数据分析,最常用以下几个库
numpy pandas matplotlib
一、Numpy库
为了方便科学计算,Numpy库定义了一些属性和方法以便于对一维数据,二位数据和高维数据的处理。为了满足科学计算的需求,Numpy定义了一个多维数组对象——ndarray。Ndarray由实际数据和描述这些数据的元数据(如数据维度、数据类型)构成,ndarray一般要求所有元素类型相同。
(1) Ndarray中的属性
ndarray中数据类型包括:bool,intc,intp,int8,int16,int32,int64,uint8,uint16,uint32,uint64,float6,float32,float64,complex64,complex128。
(2) Ndarray对象的创建
Ndarray对象可以由python中的列表和元组对象创建、使用ndarray中的函数进行创建、从字节流中创建和从文件中读取特定格式进行创建。
l 使用python中的列表和元组对象进行创建
基本格式为 X = np.array(list/tuple,dtype = 数据类型)dtype参数如果没有指定,那么ndaary会根据数据形式自动定义数据类型
l 使用ndarray中的创建函数
(3) Ndarray对象的变换
Ndarray对象的变换是指对ndarray对象的维度和元素类型进行变换。
(4) 数组的索引和切片
一维数组的索引和切片与python中的列表操作相同。
多维数组的索引和切片中不同维度的索引序号间要加上逗号进行分隔。
(5) Ndarray数组的运算
(6) 数组的读取和写入
(7) 随机数函数
(8) 统计函数
二、Matplotlib库
Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式。
(1) pyplot.plot函数
函数基本格式为plt.plot(x, y, format_string, **kwargs)。x为x轴的数据,y为y周的数据,format_string是控制曲线的格式字符串,包括颜色字符,风格字符和标记字符。
pyplot并不默认支持中文显示,需要rcParams修改字体实现。
rcParams中的参数:
除了上述方法外,还可以在有中文输出的地方,增加一个属性:fontproperties。
文本显示函数:
(2) pyplot的子绘图区域
可以使用subplotgrid函数,函数的一般形式为:
plt.subplot2grid(GridSpec, CurSpec, colspan=1,rowspan=1)
colspan是指列上的延伸范围,同理rowspan是行方向的延伸范围。
此外还可以使用GridSpec类。
图只是展示数据的一种方式,图像的绘制要结合数据特征来看,而且也比较简单,有了数据知道该如何展示后去matplotlib官网上找相应的代码就好了。
(3) 图像的数组展示和处理
图像一般使用RGB色彩模式,即每个像素点的颜色由红(R)、绿(G)、蓝(B)组成,三个颜色通道的变化和叠加得到各种颜色,每个颜色通道的变化范围为0-255。图像是一个由像素组成的二维矩阵,每个元素是一个RGB值,即shape为(lenth,width,3)。
PIL库是一个具有强大图像处理能力的第三方库,其中定义了Image类,可以使图像变成数组,并对其进行处理,最后再把数组返回成图像。
convert(‘L’)表示把图像转化成灰度值。
三、Pandas库
Pandas是Python第三方库,提供高性能易用数据类型和分析工具,其定义了两个数据类型:Series,DataFrame。不同于numpy库中定义的ndarray类型,pandas库中的数据类型关注数据的应用,即数据和索引之间的关系。
(1) Series类型
Series类型由一组数据及与之相关的数据索引组成,只用于表达一维数组。Series类型可以由python列表和字典、ndarray和其他函数创建。
创建的一般表达为,pd.Series(array,index=)
Series类型的操作类似ndarray类型:索引方法相同,采用[]、NumPy中运算和操作可用于Series类型、可以通过自定义索引的列表进行切片以及可以通过自动索引进行切片,如果存在自定义索引,则一同被切片。
Series类型的操作类似Python字典类型:通过自定义索引访问、保留字in操作以及使用.get()方法。
(2) DataFrame类型
DataFrame类型由共用相同索引的一组列组成。DataFrame是一个表格型的数据类型,每列值类型可以不同DataFrame既有行索引、也有列索引DataFrame常用于表达二维数据,但可以表达多维数据。操作和床架与Series类型相似。
(3) 索引类型的函数
(4) 数据类型运算
算术运算根据行列索引,补齐后运算,运算默认产生浮点数,补齐时缺项填充NaN (空值)。二维和一维、一维和零维间为广播运算。
上述函数的axis参数默认为0,即在行方向上进行运算,改为1则在列的方向上进行运算。
(5) 统计运算
本章来源
如果觉得《python 数据分析工具之 numpy pandas matplotlib》对你有帮助,请点赞、收藏,并留下你的观点哦!