Pandas是Python中非常常用的数据处理工具,使用起来非常方便。它建立在NumPy数组结构之上,因此它的很多操作都是通过NumPy或Pandas自带的扩展模块编写的。这些模块都是用Cython编写并编译成C,在C上执行,所以处理速度也有保证。今天就来体验一下它的威力吧。1.创建数据使用pandas创建数据非常方便,现在让我们创建一个5列1000行的pandasDataFrame:mu1,sigma1=0,0.1mu2,sigma2=0.2,0.2n=1000df=pd.DataFrame({"a1":pd.np.random.normal(mu1,sigma1,n),"a2":pd.np.random.normal(mu2,sigma2,n),"a3":pd.np.random.randint(0,5,n),"y1":pd.np.logspace(0,1,num=n),"y2":pd.np.random.randint(0,2,n),})a1和a2:从正态(高斯)分布中抽取的随机样本。a3:0到4的随机整数y1:0到1的对数尺度均匀分布y2:0到1的随机整数生成如下图数据:2.绘制图像Pandas绘图函数返回一个matplotlib坐标轴(Axes),所以我们可以自定义我们需要在上面画什么。例如,画一条垂直线和一条平行线。这对我们会有很大的好处:1.绘制均值线2.标记重点importmatplotlib.pyplotaspltax=df.y1.plot()ax.axhline(6,color="red",linestyle="--")ax.axvline(775,color="red",linestyle="--")plt.show()我们还可以自定义图表上显示的表格数量:fig,ax=plt.subplots(2,2,figsize=(14,7))df.plot(x="索引",y="y1",ax=ax[0,0])df.plot.scatter(x="索引",y="y2",ax=ax[0,1])df.plot.scatter(x="index",y="a3",ax=ax[1,0])df.plot(x="index",y="a1",ax=ax[1,1])plt.show()3.绘制直方图Pandas允许我们以非常简单的方式获取两个图形的形状比较:df[["a1","a2"]].plot(bins=30,kind="hist")plt.show()也可以允许多图绘制:df[["a1","a2"]].plot(bins=30,kind="hist",subplots=True)plt.show()当然生成的折线图是未绘制:df[['a1','a2']].plot(by=df.y2,subplots=True)plt.show()4.线性拟合也可以用pandas来拟合,我们用pandas找一条最接近下图的直线:最小二乘计算和直线的最短距离:df['ones']=pd.np。ones(len(df))m,c=pd.np.linalg.lstsq(df[['index','ones']],df['y1'],rcond=None)[0]根据最小二乘结果绘制y和拟合线:df['y']=df['index'].apply(lambdax:x*m+c)df[['y','y1']].plot()plt.show()我们的文章到这里就结束了,如果你想要今天我们的Python教程,请继续关注我们,如果你喜欢如果对你有帮助,请点个赞/关注。有什么问题可以在下方留言区留言,我们会耐心解答!Python实用书(pythondict.com)不只是一本书欢迎来到公众号:Python实用书原文来自Python实用书:PythonPandas高效数据处理图
