python航空公司1949-1960年的乘客人数-数据特征分析(二)

简介: python航空公司1949-1960年的乘客人数-数据特征分析

5.乘客数量对比分析

按照年份和月份做频数分析

               

(1)   对年份进行求和,随着时间的推移,乘客数量呈上升趋势

1. data['year_sum'] = data.sum(axis=1) # 按照年份求和
2. 
3. data['year_sum'] = data.apply(lambda x: x.sum(), axis=1) # 按照年份求和
4. data

 

 

(2)对月份进行求和,其中7月和8月的乘客数量最多,2月和9月乘客数量相对较少

 

1. data.loc['month_sum'] = data.apply(lambda x:x.sum(),axis=0) # 按照月份求和
2. data

 

(2)   用Matplotlib绘制条形图、现状图分析每年乘客数量情况,乘客数量总体呈上升趋势

1. x = [1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960]  
2. y = data['sum']  
3. 
4. plt.title('每年乘客数量分析(条形图)')
5. 
6. plt.xlabel('年份')
7. plt.ylabel('乘客数量')
8. 
9. plt.bar(x,y,color='pink')
10. 
11. plt.show()

 

 

 

(4)使用线状图表展示每年乘客变化趋势图

 

1. plt.title('每年乘客变化趋势(线状图)')
2. 
3. plt.xlabel('年份')
4. plt.ylabel('乘客数量')
5. 
6. plt.plot(x, y, color='r')
7. plt.show()

 

 

1. plt.plot(data.index[:-1],data['year_sum'][:-1],'ro--')
2. 
3. plt.title('乘客数量变化趋势')
4. plt.xlabel('年份')
5. plt.ylabel('乘客数量')
6. plt.show()

(5)对比月度乘客总数量,7月和8月为乘客人数的高峰时期

 

1. x = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']  
2. y = data.loc['count']  
3. 
4. plt.title('月度乘客数量分析(条形图)')
5. 
6. plt.xlabel('月份')
7. plt.ylabel('乘客数量')
8. 
9. plt.bar(x,y,color='hotpink')
10. 
11. plt.show()

 

 

6.对所用乘客人数做描述性统计

(1)以年份维度作堆叠得出堆叠结果

 

 

1. import numpy as np
2. import matplotlib.pyplot as plt
3. 
4. # 使用的数据集
5. year = data['year']
6. population_by_continent = {
7. 'Jan': [112,118,132,129,121,135,148,148,136,119,104,118],
8. 'Feb': [115,126,141,135,125,149,170,170,158,133,114,140],
9. 'Mar': [145,150,178,163,172,178,199,199,184,162,146,166],
10. 'Apr': [171,180,193,181,183,218,230,242,209,191,172,194],
11. 'May': [196,196,236,235,229,243,264,272,237,211,180,201],
12. 'Jun': [204,188,235,227,234,264,302,293,259,229,203,229],
13. 'Jul': [242,233,267,269,270,315,364,347,312,274,237,278],
14. 'Aug': [284,277,317,313,318,374,413,405,355,306,271,306],
15. 'Sep': [315,301,356,348,355,422,465,467,404,347,305,336],
16. 'Oct': [340,318,362,348,363,435,491,505,404,359,310,337],
17. 'Nov': [340,318,362,348,363,435,491,505,404,359,310,337],
18. 'Dec': [417,391,419,461,472,535,622,606,508,461,390,432],
19. }
20. 
21. # 初始化figure和axes
22. fig, ax = plt.subplots()
23. sum = np.zeros((1, len(year))).reshape(-1)
24. 
25. # 绘图
26. for i in population_by_continent:
27.     ax.bar(year, population_by_continent.get(i), label=i, alpha=0.8, bottom=sum, width=5)
28. sum += population_by_continent.get(i)
29. 
30. # 添加图例和标题
31. ax.legend(loc='upper left')
32. ax.set_title('年份纬度')
33. ax.set_xlabel('年份')
34. ax.set_ylabel('乘客数量')
35. 
36. plt.show()

 

(2)使用函数生成描述性统计,观察数据集分布的中心趋势,分散和形状

 

1. data1_stack = data1.stack() # 堆叠结果
2. data1_stack

 

 

(3)计算数据的偏度系数

 

1. from scipy import stats 
2. 
3. # 年份纬度
4. x = pd.Series(data['sum']) # 将列表x转换为pandas中的Series
5. skew = stats.skew(x) # 使用stats计算偏度
6. print('偏度:',skew)
1. # 月份纬度
2. x = pd.Series(data.loc['count']) # 将列表x转换为pandas中的Series
3. skew = stats.skew(x) # 使用stats计算偏度
4. print('偏度:',skew)

 

1. from scipy import stats 
2. 
3. # 偏度系数
4. data1_stack.skew()

 

 

(4)计算数据的峰度系数

 

1. # 年份纬度
2. s = pd.Series(data['sum']) # 将列表x转换为pandas中的Series
3. kurtosis = stats.kurtosis(x)#使用stats计算峰度
4. print('峰度:',kurtosis)
1. # 月份纬度
2. x = pd.Series(data.loc['count']) # 将列表x转换为pandas中的Series
3. kurtosis = stats.kurtosis(x)#使用stats计算峰度
4. print('峰度:',kurtosis)
1. from scipy import stats 
2. 
3. # 峰度系数
4. data1_stack.kurt()

 

 

(5)对航空乘客数量进行周期性分析,总体呈上升趋势

 

1. plt.figure(figsize=(7,5))
2. 
3. plt.plot(data1_stack.values,color='hotpink')
4. plt.title('每月乘客数量直方图')
5. 
6. plt.show()

 

总结

通过本次实验对数据的基本处理,应用数据探索的方法完成案例的质量探索和规律探索。掌握了频数分布、集中和离散趋势、偏度和峰度等图表绘制方法或统计方法。这是一次有挑战性并且有趣的实验,通过不断地学习挖掘数据隐藏的信息,获取数据的价值为后续的工作提供足够的条件。

相关文章
|
10月前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
10月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
8254 1
|
10月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
771 0
|
10月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
10月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
10月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
11月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1701 102
|
11月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
521 104
|
11月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
412 103

推荐镜像

更多