当前位置: 首页 > news >正文

pandas——plot()方法可视化

pandas——plot()方法可视化

作者:AOAIYI
创作不易,如果觉得文章不错或能帮助到你学习,记得点赞收藏评论哦
在此,感谢你的阅读


文章目录

  • pandas——plot()方法可视化
  • 一、实验目的
  • 二、实验原理
  • 三、实验环境
  • 四、实验内容
  • 五、实验步骤


一、实验目的

熟练掌握使用pandas中数据用plot方法绘制图

二、实验原理

绘图方法允许除了默认的线图之外的一些绘图样式,这些方法可以通过plot()的关键字参数kind提供。这些包括:

bar 、barh:绘制条形图

hist:绘制直方图

box:绘制箱型图

kde、density:绘制密度图

area:面积图

scatter:绘制散点图

hexbin:棱形图

pie:绘制饼图

三、实验环境

Python 3.6.0以上

Jupyter

四、实验内容

练习使用pandas中数据用plot方法绘制图。

五、实验步骤

1.编写代码,使用Series的plot绘制Series中数据的分布图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
ts = pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2000',periods=1000)) #创建一个Series
ts = ts.cumsum() #对Series数据进行累加求和
ts.plot() #使用plot方法绘制Series中数据分布图
plt.show()

在这里插入图片描述

2.创建一个DataFrame名为df,使用df的plot绘制df中数据的分布图,代码如下:

import numpy as np
import pandas as pd
import matplotlib.pyplot as pltts = pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2000',periods=1000)) #创建一个Series
df = pd.DataFrame(np.random.randn(1000,4),index=ts.index,columns=list('ABCD')) #创建一个DataFrame
df = df.cumsum() #对df数据进行累加求和df.plot()
plt.show()

在这里插入图片描述

3.创建一个DataFrame名为df,使用df的plot方法绘制df第6行数据的条形图,代码如下:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
ts = pd.Series(np.random.randn(1000),index=pd.date_range('1/1/2000',periods=1000)) #创建一个Series
df = pd.DataFrame(np.random.randn(1000,4),index=ts.index,columns=list('ABCD')) #创建一个DataFrame
df = df.cumsum() #对df数据进行累加求和
df.iloc[5].plot(kind='bar')
plt.axhline(0,color='k')
plt.show()

在这里插入图片描述

4.创建一个DataFrame名为df2,使用df2的plot.bar()方法绘制df2数据的条形图,代码如下:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df2 = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])
df2.plot.bar()
plt.show()

在这里插入图片描述

5.使用plot.bar方法对上述df2数据绘制一个堆叠的条形图,通过设置参数stacked=True,代码如下:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df2 = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])
df2.plot.bar(stacked=True)
plt.show()

在这里插入图片描述

6.使用plot.barh方法对上述df2数据,通过设置参数stacked=True,绘制一个水平堆叠条形图,代码如下:

import numpy as np  
import pandas as pd  
import matplotlib.pyplot as plt  
df2 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])  
df2.plot.barh(stacked=True)  
plt.show()  

在这里插入图片描述

7.创建一个DataFrame名为df3,使用df3的plot.hist()方法绘制df3数据的直方图,代码如下:

import numpy as np  
import pandas as pd  
import matplotlib.pyplot as plt  
df3 = pd.DataFrame({'a': np.random.randn(1000) + 1, 'b': np.random.randn(1000),'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])  
df3.plot.hist(alpha=0.5)  
plt.show()

在这里插入图片描述

8.使用plot.hist()方法对上述df3数据,通过设置堆叠参数stacked=True,设置条数大小参数bins=20,绘制一个堆叠直方图,代码如下:

import numpy as np  
import pandas as pd  
import matplotlib.pyplot as plt  
df3 = pd.DataFrame({'a': np.random.randn(1000) + 1, 'b': np.random.randn(1000),'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])  
df3.plot.hist(stacked=True, bins=20)  
plt.show() 

在这里插入图片描述

9.创建一个DataFrame名为df4,使用df4的plot.box()方法绘制df3数据的箱型图,代码如下:

import numpy as np  
import pandas as pd  
import matplotlib.pyplot as plt  
df4 = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])  
df4.plot.box()  
plt.show()  

在这里插入图片描述

10.创建一个DataFrame名为df5,使用df5的plot.scatter()方法绘制df5数据的散点图,代码如下:

import numpy as np  
import pandas as pd  
import matplotlib.pyplot as plt  
df5 = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])  
df5.plot.scatter(x='a', y='b');  
plt.show()  

在这里插入图片描述

11.创建一个DataFrame名为df6,使用df6的plot.pie()方法绘制df6数据的饼图,代码如下:

import numpy as np  
import pandas as pd  
import matplotlib.pyplot as plt  
df6 = pd.DataFrame(3 * np.random.rand(4, 2), index=['a', 'b', 'c', 'd'], columns=['x', 'y'])  
df6.plot.pie(subplots=True, figsize=(8, 4))  
plt.show()  

在这里插入图片描述


http://www.lryc.cn/news/1341.html

相关文章:

  • 【Three.js基础】坐标轴辅助器、requestAnimationFrame处理动画、Clock时钟、resize页面尺寸(二)
  • C++之完美转发、移动语义(forward、move函数)
  • LeetCode刷题系列 -- 48. 旋转图像
  • 在多线程环境下使用哈希表
  • 【排序算法】堆排序(Heap Sort)
  • 分类预测 | Matlab实现SSA-RF和RF麻雀算法优化随机森林和随机森林多特征分类预测
  • Allegro如何添加ICT操作指导
  • 软件架构设计(二)——领域架构、基于架构的软件开发方法
  • 数组常用方法(2)---数组遍历方法
  • 卸载Node.js
  • 发表计算机SCI论文,会经历哪些过程? - 易智编译EaseEditing
  • python中lambda的用法
  • 网络安全协议(3)
  • 102.第十九章 MySQL数据库 -- MySQL的备份和恢复(十二)
  • 【C++】C++入门 类与对象(一)
  • 笔记_js运算符
  • java面试题(十九) Mybatis
  • Linux系统位运算函数以及相应CPU ISA实现收录
  • logback配置文件---logback.xml
  • Web前端-设计网站公共header
  • 引用和指针傻傻分不清
  • MySQL面试题:关系型数据库SQL和非关系型数据库NoSQL
  • 1.Redis【介绍与安装】
  • DataStore快速上手1-preference
  • 彻底掌握 MySQL InnoDB 的锁机制
  • C++继承
  • 动态代理是基于什么原理?
  • YOLO-V4经典物体检测算法介绍
  • angular相关知识点总结
  • 大坝安全监测系统:水库“守坝人”!