提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
前面学习了Numpy、matplotlib、pandas还没有进行一些练习和训练,这里分享我对于数据可视化的一些练习 此次代码和数据我会打包上传,感兴趣的uu可以去下载
提示:此处所以编译均在jupyter notebook执行(jupyter 下载可以看我前面博客)
一、Pandas读取数据
Pandas:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
import pandas as pd
data=pd.read_csv("FIFA World Cup.csv",encoding="ansi")
data
部分结果
二、处理数据
代码如下(示例):
此处采用的是复制后删除原数据
data['平均出售率']=data['Averageattendance']
data['最高出席人数']=data['highest attendence of Number']
data['场地最高出席次数']=data['highest attendence of Venue']
data['最高比赛上座率']=data['highest attendence of Game(s)']
data.pop('Venues/Cities')
data.pop('highest attendence of Number')
data.pop('highest attendence of Venue')
data.pop('highest attendence of Game(s)')
data.pop('Averageattendance')
data.pop('Totalattendance 鈥?Matches')
data.pop('Unnamed: 8')
data
Hosts是举办方,此处不使用,也就保留了
三、使用Matplotlib绘图
1.柱状图
from matplotlib import pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #该语句解决图像中的“-”负号的乱码问题
fig=plt.figure()
ax=fig.add_axes([0,0,1,1])
ax.bar(data['Year']-1900,data['最高出席人数'])
ax.set_title("每届世界杯单场最高出席人数")
ax.set_xlabel('年份')
ax.set_ylabel('人数')
ax.set_xticks(data['Year']-1900)
fig.show()
运行结果
此处将1900年为起点(0)开始
2.绘制散点图
from matplotlib import pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #该语句解决图像中的“-”负号的乱码问题
fig=plt.figure()
ax=fig.add_axes([0,0,1.5,1])
ax.scatter(data['Year'],data['场地最高出席次数']) #绘制散点图
#ax.scatter(data['Year'],data['平均出售率'],color='g')
ax.set_title("每届世界杯票数平均出售率")
ax.set_xlabel('年份')
ax.set_ylabel('平均出售率')
ax.set_xticks(data['Year'])
fig.show()
运行结果:
3.绘制散点图和折线图
from matplotlib import pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #该语句解决图像中的“-”负号的乱码问题
fig=plt.figure()
ax=fig.add_axes([0,0,1.5,1])
ax.plot(data['Year'],data['平均出售率'],color='g') #绘制折线图
ax.scatter(data['Year'],data['平均出售率']) #绘制散点图
ax.set_title("每届世界杯票数平均出售率")
ax.set_xlabel('年份')
ax.set_ylabel('平均出售率')
ax.set_xticks(data['Year'])
fig.show()
运行结果:
同时绘制散点图+折线图,更直观看出图像数据
总结
此次例子是小型数据而已,面对大量数据和小量数据处理方式不同,对于小量数据更希望直观看出数据,对于大量数据更想看出规律