- Python pandas教程
- Python Pandas - 主页
- Python Pandas - 简介
- Python Pandas - 环境设置
- 数据结构简介
- Python pandas - 系列
- Python Pandas - 数据帧
- Python Pandas - 面板
- Python Pandas - 基本功能
- 描述性统计
- 功能应用
- Python Pandas - 重新索引
- Python Pandas - 迭代
- Python Pandas - 排序
- 处理文本数据
- 选项和定制
- 索引和选择数据
- 统计功能
- Python Pandas - 窗口函数
- Python Pandas - 聚合
- Python Pandas - 缺失数据
- Python Pandas - GroupBy
- Python Pandas - 合并/连接
- Python Pandas - 连接
- Python Pandas - 日期功能
- Python Pandas - Timedelta
- Python Pandas - 分类数据
- Python Pandas - 可视化
- Python Pandas - IO 工具
- Python Pandas - 稀疏数据
- Python Pandas - 注意事项和陷阱
- 与SQL的比较
- Python Pandas 有用资源
- Python Pandas - 快速指南
- Python Pandas - 有用的资源
- Python Pandas - 讨论
Python Pandas - 可视化
基本绘图:绘图
Series 和 DataFrame 上的此功能只是matplotlib 库plot()方法的简单包装。
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(10,4),index=pd.date_range('1/1/2000', periods=10), columns=list('ABCD')) df.plot()
其输出如下 -
如果索引由日期组成,它会调用gct().autofmt_xdate()来格式化 x 轴,如上图所示。
我们可以使用x和y关键字绘制一列与另一列的关系图。
绘图方法允许使用除默认线图之外的多种绘图样式。这些方法可以作为plot()的kind 关键字参数提供。这些包括 -
- bar 或 barh 用于条形图
- 直方图的 hist
- 箱线图的盒子
- 面积图的“面积”
- 'scatter' 用于散点图
条形图
现在让我们通过创建一个条形图来了解什么是条形图。可以通过以下方式创建条形图 -
import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d') df.plot.bar()
其输出如下 -
要生成堆积条形图,请传递 stacked=True -
import pandas as pd df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d') df.plot.bar(stacked=True)
其输出如下 -
要获得水平条形图,请使用barh方法 -
import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d') df.plot.barh(stacked=True)
其输出如下 -
直方图
可以使用plot.hist()方法绘制直方图。我们可以指定垃圾箱的数量。
import pandas as pd import numpy as np df = pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c']) df.plot.hist(bins=20)
其输出如下 -
要为每列绘制不同的直方图,请使用以下代码 -
import pandas as pd import numpy as np df=pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c']) df.diff.hist(bins=20)
其输出如下 -
箱线图
可以调用Series.box.plot()和DataFrame.box.plot()或DataFrame.boxplot()绘制箱线图,以可视化每列内值的分布。
例如,这是一个箱线图,表示 [0,1) 上均匀随机变量的 10 次观察的 5 次试验。
import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E']) df.plot.box()
其输出如下 -
面积图
面积图可以使用Series.plot.area()或DataFrame.plot.area()方法创建。
import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd']) df.plot.area()
其输出如下 -
散点图
可以使用DataFrame.plot.scatter()方法创建散点图。
import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd']) df.plot.scatter(x='a', y='b')
其输出如下 -
饼形图
可以使用DataFrame.plot.pie()方法创建饼图。
import pandas as pd import numpy as np df = pd.DataFrame(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'], columns=['x']) df.plot.pie(subplots=True)
其输出如下 -