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!

相关文章
|
3天前
|
数据可视化 Python
Pandas 相关性分析
Pandas 相关性分析
8 1
|
2月前
|
数据采集 数据挖掘 数据处理
Pandas实践:南京地铁数据处理分析
Pandas实践:南京地铁数据处理分析
32 2
|
2月前
|
数据挖掘 Python
掌握Pandas中的相关性分析:corr()方法详解
掌握Pandas中的相关性分析:corr()方法详解
124 0
|
3月前
|
分布式计算 数据可视化 大数据
Vaex :突破pandas,快速分析100GB大数据集
Vaex :突破pandas,快速分析100GB大数据集
|
3月前
|
存储 数据挖掘 API
多快好省地使用pandas分析大型数据集
多快好省地使用pandas分析大型数据集
|
10天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
33 0
|
2月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
73 0
|
11天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
24 1
|
1月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
77 3
|
1月前
|
数据采集 数据挖掘 API
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
在Python数据分析的世界里,Pandas和NumPy无疑是两颗璀璨的明星,它们为数据科学家和工程师提供了强大而灵活的工具集,用于处理、分析和探索数据。今天,我们将一起深入探索这两个库的高级功能,看看它们如何成为数据分析的加速器。
39 1