Pandas大数据清洗实战之三:数据可视化

一、绘制折线图

1、使用Series绘制折线图

执行如下代码

from pandas import DataFrame,Series
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
s=pd.Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))
s.plot()
plt.show()

首先导入pandas库、numpy库和matplotlib库,引入pandas库中的DataFrame和Series数组,接着将Series对象索引传给matplotlib并绘制图形。np.random表示随机抽样,np.random.randn(10)用于返回一组随机数据,cumsum用于返回累加值,np.arange(0,100,10)用于返回一个有终点和起点的固定步长的排列以显示刻度值,0是起点,100是终点,10是步长,结果如下

在这里插入图片描述
常用的numpy随机函数如下表

函 数描 述
rand(d0,d1,…dn)返回一组随机值,根据给定维度生成[0,1]数据
randn(d0,d1,…dn)返回一个样本,具有标准正态分布
randint(low[,high,size])返回随机整数,位于半开区间[low,high]
random_integers(low[,high,size])返回随机整数,位于闭区间[low,high]
random([size])返回随机浮点数,位于半开区间[0.0,1.0]
bytes(length)返回随机字节

常用的Series.plot函数如下表

函 数描 述
label图表的标签
ax要进行绘制的对象
style要传给matplotlib的字符风格
alpha图标填充透明度0~1
kind图标的类型
logy在Y轴上使用对数标尺
rot旋转刻度标签0~360
xticks,yticks用作X轴和Y轴刻度的值
xlim,ylimX轴和Y轴的界限

常用的DataFrame.plot函数如下表

函 数描 述
subplots将各个DataFrame列绘制到单独的subplot中
sharex如果将subplots=True则共用一个X轴
sharey如果将subplots=True则共用一个Y轴
figsize图像元组的大小
title图像标题
legend添加一个subplots图例
sort_columns以字母表顺序绘制各列

2、使用DataFrame绘制折线图

执行如下代码

from pandas import DataFrame,Series
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.DataFrame(np.random.randn(10,4).cumsum(0),columns=['A','B','C','D'],index=np.arange(0,100,10))
df.plot()
plt.show()

上述代码生成了4条折线,并有A,B,C,D标注图例,如下图
在这里插入图片描述

二、绘制柱状图

1、使用Series绘制柱状图

执行如下代码

from pandas import DataFrame,Series
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
fig,axes=plt.subplots(2,1)
df=pd.Series(np.random.rand(16),index=list('abcdefghijklmnop'))
df.plot.bar(ax=axes[0],color='r',alpha=0.7)
df.plot.barh(ax=axes[1],color='r',alpha=0.7)
plt.show()

ax=axes[0]表示设置subpolt对象名称,color='r’表示设置图形颜色为红色,alpha=0.7表示图形透明度为0.7,结果如下图
在这里插入图片描述

2、使用DataFrame绘制柱状图

执行如下代码

from pandas import DataFrame,Series
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.DataFrame(np.random.rand(4,4),index=['one','two','three','four'],columns=pd.Index(['A','B','C','D'],name='bar'))
df.plot.bar()
plt.show()

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

三、绘制直方图

通过DataFrame的hist方法绘制
执行如下代码

from pandas import DataFrame,Series
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from numpy.random import randn
df=pd.DataFrame({'a':np.random.rand(1000)+1,'b':np.random.randn(1000),},columns=['a','b'])
df.plot.hist(bins=20)
plt.show()

bins=20表示直方图可以交叉,结果如下图
在这里插入图片描述
在语句df.plot.hist(bins=20)加入stacked=True,可以绘制叠加直方图,如下图
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值