pandas可视化

pandas可视化

函数定义

pandas模块提供了基本的可视化操作,series和dataframe可以用plot()方法进行可视化,其函数格式如下:

df.plot(
x=None,
y=None,
kind=‘line’,
ax=None,
subplots=False,
sharex=None,
sharey=False,
layout=None,
figsize=None,
use_index=True,
title=None,
grid=None,
legend=True,
style=None,
logx=False,
logy=False,
loglog=False,
xticks=None,
yticks=None,
xlim=None,
ylim=None,
rot=None,
fontsize=None,
colormap=None,
table=False,
yerr=None,
xerr=None,
secondary_y=False,
sort_columns=False,
**kwds,)

其中参数kind表示了画图的种类
- 'line' : line plot (default)默认值
- 'bar' : vertical bar plot
- 'barh' : horizontal bar plot
- 'hist' : histogram
- 'box' : boxplot
- 'kde' : Kernel Density Estimation plot
- 'density' : same as 'kde'
- 'area' : area plot
- 'pie' : pie plot
- 'scatter' : scatter plot
- 'hexbin' : hexbin plot

title: 图表名称
grid: 网格
legend:图例
style: 绘图的风格,如‘ko–’

ax:要在其上进行绘制的matplotlib.subplot对象,如果没有,则使用默认的subplot对象

use_index:True(默认),False。表示默认情况下,会将series和dataframe的index传给matplotlib,用已绘制X轴

x:x轴方向
y:y轴方向

subplots:固定比例

figsize:图像尺寸

logx:在X轴上使用对数标尺
logy:在Y轴上使用对数标尺

xticks:None,用做x刻度的值
yticks:None,用做Y轴刻度的值

xlim:None, X轴的界限如【0,10】
ylim:None,Y轴的界限

rot:None, 旋转刻度标签 0-360

使用实例

线型图

import numpy as np
import pandas as pd
s=pd.Series(np.random.randint(1,10,10),index=pd.date_range('2019/12/10',periods=10))
print(s)
s.plot()

运行结果如下

2019-12-10 6
2019-12-11 4
2019-12-12 5
2019-12-13 9
2019-12-14 2
2019-12-15 1
2019-12-16 1
2019-12-17 5
2019-12-18 8
2019-12-19 1
Freq: D, dtype: int64

pandas可视化

函数定义

pandas模块提供了基本的可视化操作,series和dataframe可以用plot()方法进行可视化,其函数格式如下:

df.plot(
x=None,
y=None,
kind=‘line’,
ax=None,
subplots=False,
sharex=None,
sharey=False,
layout=None,
figsize=None,
use_index=True,
title=None,
grid=None,
legend=True,
style=None,
logx=False,
logy=False,
loglog=False,
xticks=None,
yticks=None,
xlim=None,
ylim=None,
rot=None,
fontsize=None,
colormap=None,
table=False,
yerr=None,
xerr=None,
secondary_y=False,
sort_columns=False,
**kwds,)

其中参数kind表示了画图的种类
- 'line' : line plot (default)默认值
- 'bar' : vertical bar plot
- 'barh' : horizontal bar plot
- 'hist' : histogram
- 'box' : boxplot
- 'kde' : Kernel Density Estimation plot
- 'density' : same as 'kde'
- 'area' : area plot
- 'pie' : pie plot
- 'scatter' : scatter plot
- 'hexbin' : hexbin plot

title: 图表名称
grid: 网格
legend:图例
style: 绘图的风格,如‘ko–’

ax:要在其上进行绘制的matplotlib.subplot对象,如果没有,则使用默认的subplot对象

use_index:True(默认),False。表示默认情况下,会将series和dataframe的index传给matplotlib,用已绘制X轴

x:x轴方向
y:y轴方向

subplots:固定比例

figsize:图像尺寸

logx:在X轴上使用对数标尺
logy:在Y轴上使用对数标尺

xticks:None,用做x刻度的值
yticks:None,用做Y轴刻度的值

xlim:None, X轴的界限如【0,10】
ylim:None,Y轴的界限

rot:None, 旋转刻度标签 0-360

使用实例

线型图

import numpy as np
import pandas as pd
s=pd.Series(np.random.randint(1,10,10),index=pd.date_range('2019/12/10',periods=10))
print(s)
s.plot()

运行结果如下

2019-12-10 6
2019-12-11 4
2019-12-12 5
2019-12-13 9
2019-12-14 2
2019-12-15 1
2019-12-16 1
2019-12-17 5
2019-12-18 8
2019-12-19 1
Freq: D, dtype: int64在这里插入图片描述

条形图

import pandas as pd
import numpy as np
df=pd.DataFrame(np.random.randint(1,10,20).reshape(20,1),columns=list('AB))
print(df)
df.plot(kind='bar)

运行结果如下
在这里插入图片描述

垂直堆型条形图
import pandas as pd
import numpy as np
df=pd.DataFrame(np.random.randint(1,10,20).reshape(10,2),columns=list('AB))
print(df)
df.plot(kind='bar',stacked=True)

运行结果如下:
在这里插入图片描述

水平条形图
import pandas as pd
import numpy as np
df=pd.DataFrame(np.random.randint(1,10,20).reshape(10,2),columns=(list('AB))
print(df)
df.plot(kind='barh',stacked=True)

运行结果如下:
在这里插入图片描述

直方图

import numpy as np
import pandas as pd
df=pd.DataFrame(np.random.randn(3000).reshape(1000,3),columns=['a','b','c'])
print(df.head(5))
df.plot(kind='hist',bins=100)

运行结果如下:
在这里插入图片描述
直方图一般包含了多种元素的值,对于每一种元素,也可以分别进行绘图,其内容如下:

import numpy as np
import pandas as pd
df=pd.DataFrame(np.random.randn(3000).reshape(1000,3),columns=['a','b','c'])
df.hist()

运行结果如下:
在这里插入图片描述

密度图

密度图显示数据分布的情形,其内容如下:

import numpy as np
import pandas as pd
df=pd.DataFrame(np.random.randn(3000).reshape(1000,3),columns=['a','b','c'])
df.plot(kind='density')

其运行结果如下:

在这里插入图片描述

箱型图

import numpy as np
import pandas as pd
df=pf.DataFrame(np.random.randint(1,10,20).reshape(20,2),columns=list('AB))
df.plot(kind='box)

其运行结果如下:
在这里插入图片描述

区域块图形

import numpy as np
import pandas as pd
df=pd.DataFrame(np.random.randint(1,10,20).reshape(20,2),columns=list('AB'))
df.plot(kind='area',stacked=False)

其运行结果如下:
在这里插入图片描述

散点图

import numpy as np
import pandas as pd
df=pd.DataFrame(np.random.randint(1,10,20).reshape(20,2),columns=list('AB'))
df.plot(kind='scatter',x='A',y='B',color='orange',label='AB')

运行结果如下:
在这里插入图片描述

饼状图

import pandas as pd
import numpy as np
df=pd.DataFrame(np.random.randint(1,10,4).reshape(4, 1), columns=list('A'))
df.plot(kind="pie", subplots=True)

其运行结果如下:
在这里插入图片描述

多个图形

想要同时画出多个图形,要使用subplot()方法,内容如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame(np.random.randn(1000), columns=['x'])

ax = plt.subplot(1,1,1)
df.plot(kind='hist',bins=20, ax=ax, normed=True)
df.plot(kind='density', color='red', ax=ax)

运行结果如下:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息管理、数据库、硬件开发、大数据、课程资源、音频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息管理、数据库、硬件开发、大数据、课程资源、音频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息管理、数据库、硬件开发、大数据、课程资源、音频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息管理、数据库、硬件开发、大数据、课程资源、音频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息管理、数据库、硬件开发、大数据、课程资源、音频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值