Pandas实践(续):2023年南京地铁客运量分析

简介: Pandas实践(续):2023年南京地铁客运量分析

上期,我们使用了爬取的全部数据进行了一个初步分析,本期,我们截取其中一年(2023年)的数据来进行具体分析,看看客运量随时间是如何变化的,也练习练习我们自己的Pandas处理数据水平。

一、获取2023年的数据

import pandas as pddf=pd.read_csv("new_data1.csv")
df_2023=df[df['Dates'].str.contains('2023')]df_2023['Dates'] = pd.to_datetime(df_2023['Dates'],format='%Y年%m月%d日')df_2023 = df_2023.sort_values(by='Dates')df_2023

运行结果如下,365天的地铁数据就有了 7bc3adc2fb9a9f87c8fb0b832491e53a.png


二、找到一年中最大客流量与最小客流量的那一天
1. 最大客流量:

df_2023[df_2023['客运量']==df_2023['客运量'].max()]

b5e8fa32490e7912ea2c3f25ccfd5b4d.png

出现在2023年年末的那一天,果然跨年假日是人流量最大的时候。2. 最小客流量:

df_2023[df_2023['客运量']==df_2023['客运量'].min()]

413ab966d755066d6c051c8c5e9cb596.png

盲猜一下,这一天是除夕或者大年初一,验证一下,哈哈哈

801f9b1afea7b82b67e321bca881eb5c.png

三、寻找最大客流量的10天与最小客流量的10天

1. 最大客流量的10天

df_2023.sort_values(by='客运量')[-10:]

b73c112f543c9162e66356300fbb9f7e.png

我们在日历中标注一下这10天

b228eca1c1db512fd4e2a26511d02626.png

最大客流量集中在五一假期(4天)、元旦假期(2天)、端午假期(1天)、十一假期(1天)等。

2. 最小客流量的10天

df_2023.sort_values(by='客运量')[:10]

d5bb74b7796af0a28c617c51c985022d.png

最小客流量集中在1月,这个月主要是叠加了春节假期,所以坐地铁的人比较少,毕竟我们还是看重春节假期的。四、统计每个月的客流量

df_2023_month=df_2023.copy(deep=True)df_2023_monthly = df_2023_month.resample('M', on='Dates').sum()df_2023_monthly=df_2023_monthly.reset_index()df_2023_monthly["Dates"]=df_2023_monthly['Dates'].apply(lambda x: str(x).split('-')[0]+"年"+str(x).split('-')[1]+"月")df_2023_monthly

d551e67736789203e3a351b01ee70530.png

排个序:

df_2023_monthly.sort_values(by='客运量')

718c66193a75842d4a774fb6d00c3f23.png

2023年,每月客流量3月份最大9000多万,1月份最小,不到5000万。画个图看看

import pandas as pdimport matplotlib.pyplot as pltfrom datetime import datetimeimport numpy as npimport matplotlib.dates as mdatesfrom matplotlib.pyplot import rcParamsrcParams['font.sans-serif'] = ['SimHei']rcParams['axes.unicode_minus'] = False
# 绘制折线图plt.figure(figsize=(10,5))  # 设置图表大小plt.bar(df_2023_monthly['Dates'], df_2023_monthly['客运量'],width=0.3,facecolor='green',edgecolor='white')  # 绘制折线图
for x,y in zip(df_2023_monthly['Dates'],df_2023_monthly['客运量']):    plt.text(x, y, y, ha="center", va="bottom")
# 设置图表标题和轴标签plt.title('2023年南京地铁客运量月度客运量统计图')plt.xlabel('月份')plt.ylabel('每月客运总量')
# 设置x轴的刻度标签旋转,以便更好地显示日期plt.xticks(rotation=45)
# 显示图表plt.show()

de1c345aefdb2819c711f3fa96a14164.png

五、画一幅全年的客流量走势图

import pandas as pdimport matplotlib.pyplot as pltfrom datetime import datetimeimport numpy as npimport matplotlib.dates as mdatesfrom matplotlib.pyplot import rcParamsrcParams['font.sans-serif'] = ['SimHei']rcParams['axes.unicode_minus'] = False
# 绘制折线图plt.figure(figsize=(10,5))  # 设置图表大小plt.plot(np.array(df_2023['Dates']), np.array(df_2023['客运量']))  # 绘制折线图
# 设置图表标题和轴标签plt.title('2023年南京地铁客运量随日期变化')plt.xlabel('日期')plt.ylabel('每日客运总量')
# # 设置x轴的日期定位器,每隔10天显示一个标签# locator = mdates.DayLocator(interval=20)# plt.gca().xaxis.set_major_locator(locator)
# 设置x轴的刻度定位器,每隔10个数字显示一个标签locator = plt.MultipleLocator(base=10)plt.gca().xaxis.set_major_locator(locator)
# 设置x轴的刻度标签旋转,以便更好地显示日期plt.xticks(rotation=45)
# 显示网格#plt.grid(True)
# 显示图表plt.tight_layout()  # 调整布局plt.show()

4f7c148b2138482844ff929c960db7f5.png

六、总结Pandas作为数据处理的利器,作为一名业余爱好者,半个码农,还是需要多多进行练习,长期不练手,很多语句会记不住,总之,最后一句话:Practice makes better!

相关文章
|
1月前
|
分布式计算 数据可视化 数据挖掘
Pandas数据应用:社交媒体分析
本文介绍如何使用Pandas进行社交媒体数据分析,涵盖数据获取、预处理、探索性分析和建模的完整流程。通过API获取数据并转换为DataFrame格式,处理缺失值和数据类型转换问题。利用Matplotlib等库进行可视化,展示不同类型帖子的数量分布。针对大规模数据集提供内存优化方案,并结合TextBlob进行情感分析。最后总结常见问题及解决方案,帮助读者掌握Pandas在社交媒体数据分析中的应用。
160 96
|
1月前
|
数据采集 存储 算法
Pandas数据应用:市场篮子分析
市场篮子分析是一种用于发现商品间关联关系的数据挖掘技术,广泛应用于零售业。Pandas作为强大的数据分析库,在此领域具有显著优势。本文介绍了市场篮子分析的基础概念,如事务、项集、支持度、置信度和提升度,并探讨了数据预处理、算法选择、参数设置及结果解释中的常见问题与解决方案,帮助用户更好地进行市场篮子分析,为企业决策提供支持。
70 29
|
1月前
|
数据采集 数据挖掘 数据处理
Pandas数据应用:金融数据分析
本文介绍如何使用Pandas进行金融数据分析,涵盖数据导入、清洗、转换等基础操作。通过处理缺失值、重复值及数据类型不匹配等问题,结合时间序列分析和大规模数据处理技巧,帮助读者掌握常见问题的解决方案。案例分析展示了计算每日收益率并绘制图表的具体步骤。
60 14
|
1月前
|
存储 数据采集 数据挖掘
Pandas数据应用:用户行为分析
本文介绍了如何使用Pandas进行用户行为分析,涵盖从基础概念到实际应用的多个方面。首先简要介绍了Pandas的安装与基本功能,接着详细讲解了数据加载、初步探索及常见问题(如数据缺失、重复记录和时间戳格式不统一)的处理方法。随后探讨了用户活跃度和路径分析等模式挖掘技巧,并总结了常见报错及避免措施。通过掌握这些内容,读者可以更高效地进行用户行为分析,提升产品设计和用户体验。
109 8
|
3月前
|
SQL 并行计算 数据挖掘
一份写给数据工程师的 Polars 迁移指南:将 Pandas 速度提升 20 倍代码重构实践
Polars作为现代化的数据处理框架,通过先进的工程实践和算法优化,为数据科学工作者提供了高效的数据处理工具。在从Pandas迁移时,理解这些核心概念和最佳实践将有助于充分发挥Polars的性能优势。
116 4
|
3月前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
3月前
|
数据可视化 Python
Pandas 相关性分析
Pandas 相关性分析
46 1
|
5月前
|
数据挖掘 Python
掌握Pandas中的相关性分析:corr()方法详解
掌握Pandas中的相关性分析:corr()方法详解
487 0
|
3月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
114 0
|
5月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
148 1