其他
数据呈现丨使用pandas做数据可视化
本文来源于大邓和他的Python,转载自公众号Python数据之道。
matplotlib 是最常见的2维库,可以算作可视化的必备技能库,由于matplotlib是比较底层的库,api很多,代码学起来不太容易。 seaborn 是建构于matplotlib基础上,能满足绝大多数可视化需求。更特殊的需求还是需要学习matplotlib pyecharts 上面的两个库都是静态的可视化库,而pyecharts有很好的web兼容性,可以做到可视化的动态效果。
数据采集 数据读取 pd.read_csv/pd.read_excel 数据清洗(预处理) 可视化,兼容matplotlib语法(今天重点)
导入数据 绘制最简单的图plot() 多个y的绘制图 折线图、条形图、饼形图和散点图绘制 统计信息绘图 箱型图 轴坐标刻度 plot()更多精细化参数 可视化结果输出保存
准备工作
!pip3 install numpy
!pip3 install pandas
!pip3 install matplotlib
#jupyter notebook中需要加这行代码
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
#读取天气数据
df = pd.read_csv('data/london2018.csv')
df
plot最简单的图
#写法1
df.plot(x='Month', y='Tmax')
plt.show()
横坐标轴参数x传入的是df中的列名Month
纵坐标轴参数y传入的是df中的列名Tmax
折线图
df.plot(x='Month', y='Tmax') df.plot(x='Month', y='Tmax', kind='line') df.plot.line(x='Month', y='Tmax')
df.plot.line(x='Month', y='Tmax')
plt.show()
#grid绘制格线
df.plot(x='Month', y='Tmax', kind='line', grid=True)
plt.show()
多个y值
df.plot(x='Month', y=['Tmax', 'Tmin'])
plt.show()
条形图
df.plot(x='Month',
y='Rain',
kind='bar')
#同样还可以这样画
#df.plot.bar(x='Month', y='Rain')
plt.show()
水平条形图
df.plot(x='Month',
y='Rain',
kind='barh')
#同样还可以这样画
#df.plot.bar(x='Month', y='Rain')
plt.show()
df.plot(kind='bar',
x = 'Month',
y=['Tmax', 'Tmin'])
plt.show()
散点图
df.plot(kind='scatter',
x = 'Month',
y = 'Sun')
plt.show()
饼形图
df.plot(kind='pie', y='Sun')
plt.show()
legend图例不应该显示 月份的显示用数字不太正规
df.index =['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
df.plot(kind='pie', y = 'Sun', legend=False)
plt.show()
更多数据
import pandas as pd
df2 = pd.read_csv('data/londonweather.csv')
df2.head()
df2.Rain.describe()
count 748.000000
mean 50.408957
std 29.721493
min 0.300000
25% 27.800000
50% 46.100000
75% 68.800000
max 174.800000
Name: Rain, dtype: float64
箱型图
df2.plot.box(y='Rain')
#df2.plot(y='Rain', kind='box')
plt.show()
直方图
df2.plot(y='Rain', kind='hist')
#df2.plot.hist(y='Rain')
plt.show()
df2.plot(y='Rain', kind='hist', bins=[0,25,50,75,100,125,150,175, 200])
#df2.plot.hist(y='Rain')
plt.show()
多图并存
df.plot(kind='line',
y=['Tmax', 'Tmin', 'Rain', 'Sun'], #4个变量可视化
subplots=True, #多子图并存
layout=(2, 2), #子图排列2行2列
figsize=(20, 10)) #图布的尺寸
plt.show()
df.plot(kind='bar',
y=['Tmax', 'Tmin', 'Rain', 'Sun'], #4个变量可视化
subplots=True, #多子图并存
layout=(2, 2), #子图排列2行2列
figsize=(20, 10)) #图布的尺寸
plt.show()
加标题
给可视化起个标题:
df.plot(kind='bar',
y=['Tmax', 'Tmin'], #2个变量可视化
subplots=True, #多子图并存
layout=(1, 2), #子图排列1行2列
figsize=(20, 5),#图布的尺寸
title='The Weather of London') #标题
plt.show()
保存结果
df.plot(kind='pie', y='Rain', legend=False, figsize=(10, 5), title='Pie of Weather in London')
plt.savefig('img/pie.png')
plt.show()
df.plot更多参数
x 只有dataframe对象时,x可用。横坐标 y 同上,纵坐标变量 kind 可视化图的种类,如line,hist, bar, barh, pie, kde, scatter figsize 画布尺寸 title 标题 grid 是否显示格子线条 legend 是否显示图例 style 图的风格
import pandas as pd
help(pd.DataFrame.plot)
·END·
机器学习丨从何开始学习数据科学?小哥用亲身经历告诉你如何少走弯路
点击登录丨新型农业经营主体大数据库展示平台正式上线啦!
资讯丨《产业经济评论》关于“数字经济与人工智能专题“征文启事(文末有福利)
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
转载:Python数据之道
推荐:青酱
欢迎扫描👇二维码添加关注