pandas导入数据并可视化基于每年乘客数

简介: pandas导入数据并可视化基于每年乘客数

本次选用每年的一个乘客数据进行数据处理与可视化,更加了解pandas与numpy的使用学会对数据的转化处理,最后完成可视化。

 

数据导入

使用pandas的read_excel()方法读入数据格式为.xlsx的表格(如果格式为.csv就使用read_csv()并传入参数)

读取表格样式

 

1. import pandas as pd# 数据处理需要的库
2. import matplotlib.pyplot as plt# 绘图需要的库
3. plt.rcParams['font.sans-serif']=['SimHei']  # 用来正常显示中文标签
4. plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
5. data=pd.read_excel(r'实验1data.xlsx')# 读入数据的路径  实验1data.xlsx这是我的当前路径 
6. # 你可以改成你的相对(相对当前文件 文件夹名称/data.xlsx)或者绝对路径(D:/use/../data.xlsx)
7. data# 查看数据

1. data=data.set_index('year')#设置year为index
2. data
3. # data['行求和']=data.sum(axis=1)
4. # data

 

1. # 对年份求和
2. data['每年求和']=data.sum(axis=1)
3. data

 

1. data.loc['每月求和']=data.apply(lambda x:x.sum())#对每月进行求和
2. data2=data.loc['每月求和']# 取出求和后的字段
3. data2=pd.DataFrame(data2)# 转化为DataFrame形式
4. data2=data2[:-1]# 取最后一列所以索引为-1
5. data2

 

pandas数据统计

完成以上对每年以及每月的数据统计后,进行下一步可视化的工作

可视化

箱线图

1. data2.plot.box(title="Box Chart")
2. plt.grid(linestyle="--", alpha=0.3)
3. plt.show()

每年数据的统计

1. data1=data['每年求和']
2. data1
3. da=pd.DataFrame(data1)
4. da

箱线图

1. da.plot.box(title="Box Chart")
2. plt.grid(linestyle="--", alpha=0.3)
3. plt.show()

1. import numpy as np
2. x=np.array(da.index)
3. y=np.array(da['每年求和'])
4. print(x)
5. print(y)

 

1. import numpy as np
2. x=np.array(da.index)
3. y=np.array(da['每年求和'])
4. data4={
5. 'year':x,
6. 'total':y
7. }
8. data4=pd.DataFrame(data4)
9. data4=data4[:-1]
10. data4

将年和月数据转化成一个新的DataFrame

 

1. import matplotlib.pyplot as plt
2. import pandas as pd
3. GDP_data = data4
4. #设置绘图风格
5. plt.style.use('ggplot')
6. #处理中文乱码
7. plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
8. #绘制条形图
9. plt.figure(figsize=(10,10))
10. plt.rcParams['axes.facecolor']='snow'
11. plt.bar(x = range(GDP_data.shape[0]),  #指定条形图x轴的刻度值(有的是用left,有的要用x)
12.         height = GDP_data.total,  #指定条形图y轴的数值(python3.7不能用y,而应该用height)
13.         tick_label = GDP_data.year,  #指定条形图x轴的刻度标签
14.         color = 'skyblue',  #指定条形图的填充色
15.         )
16. # 添加x轴的标签
17. plt.xlabel('年份(年)')
18. #添加y轴的标签
19. plt.ylabel('乘客总数量(人次)')
20. #添加条形图的标题
21. plt.title('1949-1960年乘客数据条形图')
22. #为每个条形图添加数值标签
23. for x,y in enumerate(GDP_data.total):
24.     plt.text(x,y+0.1,"%s"%round(y,1),ha='center')  #round(y,1)是将y值四舍五入到一个小数位
25. #显示图形
26. plt.show()

1. import numpy as np
2. data2['月求和']=data2['列求和']
3. x=np.array(data2.index)
4. y=np.array(data2['月求和'])
5. data5={
6. 'Month':x,
7. 'total':y
8. }
9. data5=pd.DataFrame(data5)
10. data5

每月数据可视化

1. import matplotlib.pyplot as plt
2. import pandas as pd
3. GDP_data = data5
4. #设置绘图风格
5. plt.style.use('ggplot')
6. #处理中文乱码
7. plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
8. #绘制条形图
9. plt.figure(figsize=(10,10))
10. plt.rcParams['axes.facecolor']='snow'
11. plt.bar(x = range(GDP_data.shape[0]),  #指定条形图x轴的刻度值(有的是用left,有的要用x)
12.         height = GDP_data.total,  #指定条形图y轴的数值(python3.7不能用y,而应该用height)
13.         tick_label = GDP_data.year,  #指定条形图x轴的刻度标签
14.         color = 'pink',  #指定条形图的填充色
15.         )
16. #添加y轴的标签
17. plt.ylabel('乘客总数量(人次)')
18. # 添加x轴的标签
19. plt.xlabel('月份(月)')
20. #添加条形图的标题
21. plt.title('1949-1960年每月乘客数据条形图')
22. #为每个条形图添加数值标签
23. for x,y in enumerate(GDP_data.total):
24.     plt.text(x,y+0.1,"%s"%round(y,1),ha='center')  #round(y,1)是将y值四舍五入到一个小数位
25. #显示图形
26. plt.show()

 

总结

使用pandas导入数据,对数据进行合理的处理取出我们所要分析的字段进行可视化工作,pandas与numpy是数据处理必不可少的两个重要的库函数,进行深入的学习能提升自我的技术水平,也欢迎大家指出我的不足,谦受益!


相关文章
|
8月前
|
数据可视化 数据挖掘 数据处理
Pandas+Pyecharts | 40000+汽车之家数据分析可视化
Pandas+Pyecharts | 40000+汽车之家数据分析可视化
|
8月前
|
数据可视化 数据挖掘 大数据
Pandas+Pyecharts | 北京某平台二手房数据分析可视化
Pandas+Pyecharts | 北京某平台二手房数据分析可视化
|
6月前
|
数据可视化 数据挖掘 数据处理
【100天精通Python】Day61:Python 数据分析_Pandas可视化功能:绘制饼图,箱线图,散点图,散点图矩阵,热力图,面积图等(示例+代码)
【100天精通Python】Day61:Python 数据分析_Pandas可视化功能:绘制饼图,箱线图,散点图,散点图矩阵,热力图,面积图等(示例+代码)
181 0
|
2月前
|
SQL 数据可视化 数据挖掘
利用Python中的Pandas库进行数据分析和可视化
Python语言中的Pandas库是一个功能强大的工具,可用于数据处理、清洗、分析和可视化。本文将介绍如何利用Pandas库对数据进行处理和分析,并结合Matplotlib库进行数据可视化,帮助读者快速掌握数据分析和可视化的基本方法。
31 3
|
4月前
|
数据可视化 Python
利用Pandas探究自行车租赁随时间及天气变化的分布情况并可视化(附源码 超详细)
利用Pandas探究自行车租赁随时间及天气变化的分布情况并可视化(附源码 超详细)
28 1
|
4月前
|
数据可视化 数据挖掘 Python
利用Python和Pandas对小费数据集进行数据分析与可视化实战(超详细 附源码)
利用Python和Pandas对小费数据集进行数据分析与可视化实战(超详细 附源码)
107 0
|
4月前
|
数据可视化 数据挖掘 Linux
【数据分析与可视化】Pandas可视化与数据透视表的讲解及实战(超详细 附源码)
【数据分析与可视化】Pandas可视化与数据透视表的讲解及实战(超详细 附源码)
41 0
|
5月前
|
数据可视化 数据挖掘 Python
python pandas 宝可梦数据分析可视化实战 课程设计 完整代码+数据 可直接运行
python pandas 宝可梦数据分析可视化实战 课程设计 完整代码+数据 可直接运行
55 0
|
7月前
|
JSON 数据可视化 数据处理
使用Python的pandas库进行数据处理和可视化
使用Python的pandas库进行数据处理和可视化
73 2
|
8月前
|
数据可视化 Python
pandas可视化
pandas可视化
29 0