作者:王大伟 Python爱好者社区唯一小编 博客:https://ask./blog/wangdawei 点击上图即可限时半价购买课程 前文传送门: pandas可视化(2)【官方文档解读】-- 条形图、直方图 如绘图过程中,中文字体和负号显示有问题,可以参照如下链接修改配置参数设置正常显示: https://www./post/441 IDE : jupyter notebook Anaconda 3.X import matplotlib 注:如前一章,先导入必要的模块和绘图的数据准备 df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E']) 注:使用numpy产生一个10行5列的矩阵,矩阵内的元素是随机产生的标准正态分布数字 然后将矩阵转为df,给这五列数据栏位命名为A、B、C、D、E,并显示其前五行观察 df.plot.box() 注:绘制箱线图 注:这里有A~E五个箱线图放在一张图,理解为5次试验,每次的即为其对应列中的十行(10个数字)的箱线图 箱线图解释如下图: color = dict(boxes='DarkGreen', whiskers='DarkOrange', df.plot.box(color=color, sym='r+') 注:绘制箱线图,这里增加了箱线图每部分线条颜色的设置,至于sym官方解释是:specify fliers style 直译为:指定传单风格,我们暂且可以认为是绘图的某种风格,我把这个参数去掉绘图发现没什么区别 如果有朋友理解,请留言评论赐教 df.plot.box(vert=False, positions=[1, 4, 5, 6, 8]) 注:这里vert = False绘制水平箱线图,并且将幕布竖直方向分为8块等大小区域 将5个箱线图从下到上依次画在1、4、5、6、8五个位置 可以使用DataFrame.boxplot来绘制boxplot的界面 df = pd.DataFrame(np.random.rand(10,5)) 注:使用和之前产生df一样的方法产生df,然后用df的boxplot方法画箱线图 df = pd.DataFrame(np.random.rand(10,2), columns=['Col1', 'Col2'] ) 注:在原有的df上增加一栏X,其中包含A,B两种分类,最后根据这种分类分别对col1和col2画箱线图 df = pd.DataFrame(np.random.rand(10,3), columns=['Col1', 'Col2', 'Col3']) 注:这里传入两个分类依据,所以2X2有四种分类组合 np.random.seed(1234) 注:这段比较难理解,我们分步理解: np.random.seed(1234) 注:这里使用某种随机数种子产生器,随机产生一个50行2列的df df_box['g'] = np.random.choice(['A', 'B'], size=50) 注:然后加一栏g,随机分为A,B两类 df_box.loc[df_box['g'] == 'B', 1] += 3 注:定位到所有g栏属于B的行和第二列(索引是1),将其加3 bp = df_box.boxplot(by='g') 注:最后按照g栏分类画图,像之前两张图一样 和以下绘图代码注意对比: bp = df_box.groupby('g').boxplot() 注:by有分开的意思,groupby有整合的意思 pandas绘制箱线图到此结束 文中所写如有谬误请指出,感谢! http://pandas./pandas-docs/stable/visualization.html# 微课福利:Hellobi live |8月22日,利用 Python 建构金融数据分析平台 |
|