Pandas 本身也提供几个简单的数据可视化图形,可以完成简单的变化-折线图、等级-柱状图、分布-直方图、箱型图、相互关系-散点图、分群-安德鲁斯曲线等。
变化-折线图
import numpy as np
import pandas as pd
# 随机找出 4 笔 7 天的温度变化
df = pd.DataFrame(np.random.randint(20, high = 35, size=(7,4)),columns=list('abcd'),index=list('1234567'))
print(df)
# 画出4 周的温度变化折线图
df.plot()
输出结果如下:
a b c d
1 32 28 34 28
2 22 25 33 24
3 28 24 25 25
4 20 28 20 23
5 32 23 30 21
6 27 33 29 28
7 22 30 25 28
图 4-3-1 利用 pandas 画出一个折线图
等级-柱状图
可以简单的利用 kind 参数传递来画出不同的图,参数列表如下
参数选项 | 图形 |
---|---|
‘bar’ or ‘barh’ | 柱状图 |
‘hist’ | 直方图 |
‘kde’ or ‘density’ | 密度图 |
‘area’ | 面积图 |
‘scatter’ | 散点图 |
‘hexbin’ | 六角本图 |
‘pie’ | 派图 |
简单实例如下
df[['a','b']].plot(kind='bar')
图 4-3-2 利用 pandas 画出一个柱状图
分布-直方图、箱型图
直方图作为分析出现频率分布是很有帮助的,比方说在这四周的天气中,我们可以透过直方图来观察哪些温度是最常出现的。
df.plot(kind='hist',stacked=True)
图 4-3-3 利用 pandas 画出一个累加直方图
还可以将气候分成三类:炎热、适当、偏凉,这时候就可以观察哪一类天气出现的次数较多
df.plot(kind='hist',stacked=True, bins=3)
图 4-3-4 利用 pandas 画出一个分块直方图
除了使用参数传递, pandas 也提供函数方式的呼叫,如 DataFrame.plot.box(), DataFrame.boxplot() 等
箱形图又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图,它能显示出一组数据的最大值、最小值、中位数、及上下四分位数。以下实例设定最大值、最小值 (caps) 皆为红色、 上下须脚 (whiskers) 为蓝色,中位数 (medians) 为黄色,上下四分位数 (box) 皆为绿色,小黑点为离群值 (mild outlier),应该被忽略。以 a 为例,最大值为 33,最小值为 20,中位数 27 ,下四分位数为 22 ,上四分位数为 30,分析四组数组来看, c 组的数字分布是比较分散的,而 d 组数字分布是比较集中的
df.boxplot(color=dict(boxes='g', whiskers='b', medians='y', caps='r'))
图 4-3-5 利用 pandas 画出一个箱形图
Python数据处理-文章目录