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()

 

总结

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

相关文章
|
12天前
|
机器学习/深度学习 算法 Python
机器学习特征筛选:向后淘汰法原理与Python实现
向后淘汰法(Backward Elimination)是机器学习中一种重要的特征选择技术,通过系统性地移除对模型贡献较小的特征,以提高模型性能和可解释性。该方法从完整特征集出发,逐步剔除不重要的特征,最终保留最具影响力的变量子集。其优势包括提升模型简洁性和性能,减少过拟合,降低计算复杂度。然而,该方法在高维特征空间中计算成本较高,且可能陷入局部最优解。适用于线性回归、逻辑回归等统计学习模型。
58 7
|
13天前
|
JSON API 数据格式
Python 请求微店商品详情数据 API 接口
微店开放平台允许开发者通过API获取商品详情数据。使用Python请求微店商品详情API的主要步骤包括:1. 注册并申请API权限,获得app_key和app_secret;2. 确定API接口地址与请求参数,如商品ID;3. 生成签名确保请求安全合法;4. 使用requests库发送HTTP请求获取数据;5. 处理返回的JSON格式响应数据。开发时需严格遵循微店API文档要求。
|
9天前
|
数据采集 XML 存储
Python爬虫实战:一键采集电商数据,掌握市场动态!
这个爬虫还挺实用,不光能爬电商数据,改改解析规则,啥数据都能爬。写爬虫最重要的是要有耐心,遇到问题别着急,慢慢调试就成。代码写好了,运行起来那叫一个爽,分分钟几千条数据到手。
|
11天前
|
JSON 监控 API
python语言采集淘宝商品详情数据,json数据示例返回
通过淘宝开放平台的API接口,开发者可以轻松获取商品详情数据,并利用这些数据进行商品分析、价格监控、库存管理等操作。本文提供的示例代码和JSON数据解析方法,可以帮助您快速上手淘宝商品数据的采集与处理。
|
17天前
|
数据采集 供应链 API
实战指南:通过1688开放平台API获取商品详情数据(附Python代码及避坑指南)
1688作为国内最大的B2B供应链平台,其API为企业提供合法合规的JSON数据源,直接获取批发价、SKU库存等核心数据。相比爬虫方案,官方API避免了反爬严格、数据缺失和法律风险等问题。企业接入1688商品API需完成资质认证、创建应用、签名机制解析及调用接口四步。应用场景包括智能采购系统、供应商评估模型和跨境选品分析。提供高频问题解决方案及安全合规实践,确保数据安全与合法使用。立即访问1688开放平台,解锁B2B数据宝藏!
|
16天前
|
存储 数据采集 JSON
Python爬取某云热歌榜:解析动态加载的歌曲数据
Python爬取某云热歌榜:解析动态加载的歌曲数据
|
10天前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
10天前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
10天前
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
|
12天前
|
数据采集 搜索推荐 C语言
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化和调试技巧,涵盖使用内置函数、列表推导式、生成器、`cProfile`、`numpy`等优化手段,以及`print`、`assert`、`pdb`和`logging`等调试方法。通过实战项目如优化排序算法和日志记录的Web爬虫,帮助你编写高效稳定的Python程序。

热门文章

最新文章