python学习日记(基于pandas与seaborn库的绘图及可视化)

使用pandas与seaborn等库会使我们工作效率大大提高。

在pandas中,我们有多列数据,还有行和列标签。

pandas自身就有内置的方法,用于简化从DataFrame和Series绘制图形。

另一个库seaborn(https://seaborn.pydata.org/),由Michael Waskom创建的静态图形库。Seaborn简化了许多常见可视类型的创建。

seaborn会修改matplotlib默认的颜色方案和绘图类型,以提高可读性和美观度。即使你不使用seaborn API,你可能也会引入seaborn,作为提高美观度和绘制常见matplotlib图形的简化方法

安装及导入pandas与seaborn

打开cmd,输入pip install pandas    pip install seaborn

python学习日记(基于pandas与seaborn库的绘图及可视化)_第1张图片 输入pip list, 显示如下图,即为安装成功

 

 引入pandas与seaborn库

import pandas as pd

Series和DataFrame都有一个用于生成各类图表的plot方法。默认情况下,它们所生成的是线型图

DataFrame的plot方法会在一个subplot中为各列绘制一条线,并自动创建图例,示例如下:

df = pd.DataFrame(np.random.randn(10, 4).cumsum(0),
                    columns=['A', 'B', 'C', 'D'],
                    index=np.arange(0, 100, 10))
df.plot()

运行结果如下:

python学习日记(基于pandas与seaborn库的绘图及可视化)_第2张图片

柱状图

plot.bar()和plot.barh()分别绘制水平和垂直的柱状图。这时Series和DataFrame的索引将会被用作X(bar)或Y(barh)刻度。

data = pd.Series(np.random.rand(16), index=list('abcdefghijklmnop'))
data.plot.bar(ax=axes[0])
data.plot.barh(ax=axes[1])

python学习日记(基于pandas与seaborn库的绘图及可视化)_第3张图片

对于Dataframe,规则与Series相似,柱状图会将每行的值分为一组并分类显示

data = pd.DataFrame(np.random.rand(5,5), index=['one', 'two', 'three', 'four', 'five'], 
                columns = ('a','b','c','d','e'))
print(data)
data.plot.bar(ax=axes[0])
data.plot.barh(ax=axes[1])

python学习日记(基于pandas与seaborn库的绘图及可视化)_第4张图片

 设置stacked=True即可为DataFrame生成堆积柱状图

data.plot.barh(stacked=True, alpha=0.5)

python学习日记(基于pandas与seaborn库的绘图及可视化)_第5张图片

直方图和密度图

直方图(histogram)是一种可以对值频率进行离散化显示的柱状图。数据点被拆分到离散的、间隔均匀的面元中,绘制的是各面元中数据点的数量,通过在Series使用plot.hist方法可以生成直方图。

seaborn的regplot方法可以做一个散布图,并加上一条线性回归的线。

seaborn提供了一个便捷的pairplot函数,它支持在对角线上放置每个变量的直方图或密度估计。

你可能感兴趣的:(python,学习,数据挖掘)