欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 【51 Pandas+Pyecharts | 深圳市共享单车数据分析可视化】

【51 Pandas+Pyecharts | 深圳市共享单车数据分析可视化】

2025/1/3 3:44:56 来源:https://blog.csdn.net/weixin_42152811/article/details/143322055  浏览:    关键词:【51 Pandas+Pyecharts | 深圳市共享单车数据分析可视化】

文章目录

  • 🏳️‍🌈 1. 导入模块
  • 🏳️‍🌈 2. Pandas数据处理
    • 2.1 读取数据
    • 2.2 查看数据信息
    • 2.3 处理起始时间、结束时间
    • 2.4 增加骑行时长区间列
    • 2.5 增加骑行里程区间列
  • 🏳️‍🌈 3. Pyecharts数据可视化
    • 3.1 各行政区单车骑行量
    • 3.2 各行政区单车里程热图
    • 3.3 起始时间分布
    • 3.4 结束时间分布
    • 3.5 骑行里程分布
    • 3.6 骑行里程区间占比
    • 3.7 骑行时长(s)
    • 3.8 骑行时长区间占比
  • 🏳️‍🌈 4. 可视化项目源码+数据

大家好,我是 👉【Python当打之年(点击跳转)】

本期将利用Python分析「深圳市共享单车数据」 ,看看:各行政区单车骑行量、骑行里程、骑行时间分布等情况,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。

涉及到的库:

  • Pandas — 数据处理
  • Pyecharts — 数据可视化

🏳️‍🌈 1. 导入模块

import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')

🏳️‍🌈 2. Pandas数据处理

2.1 读取数据

df1 = pd.read_excel('./共享单车数据.xlsx')

在这里插入图片描述

2.2 查看数据信息

df.info()

在这里插入图片描述

2.3 处理起始时间、结束时间

df1['骑行时长(s)'] = (df1['结束时间'] - df1['起始时间']).dt.total_seconds()

2.4 增加骑行时长区间列

lables = [f'{i}-{i+5}分钟' for i in range(0, 60, 5)]+['60分钟以上']
df1['骑行时长区间'] = pd.cut(df1['骑行时长(s)'],bins=[i for i in range(0, 3601, 300)]+[10000],labels=lables)

2.5 增加骑行里程区间列

distance_transfer=df1['骑行里程(m)'].map(lambda x: x / 1000)
df1['骑行里程区间'] = pd.cut(distance_transfer,bins=[0,1,2,3,4,5,10],labels=['0-1公里','1-2公里','2-3公里','3-4公里','4-5公里','5-6公里'])

在这里插入图片描述

🏳️‍🌈 3. Pyecharts数据可视化

3.1 各行政区单车骑行量

def get_bar():bar = (Bar().add_xaxis(x_data).add_yaxis('', y_data,).set_global_opts(title_opts=opts.TitleOpts(title='1-各行政区单车骑行量',subtitle=subtitle,pos_top='2%',pos_left='center',),visualmap_opts=opts.VisualMapOpts(is_show=False,range_color=range_color,),))return bar

在这里插入图片描述

  • 福田区、龙华区、南山区的骑行订单量要远高于其他行政区
  • 光明区、盐田区骑行订单量最少

3.2 各行政区单车里程热图

def get_map():map1 = (Map().add('单车里程', data, '深圳').set_global_opts(title_opts=opts.TitleOpts(title='2-各行政区单车里程热图',subtitle=subtitle,pos_top='2%',pos_left='center',),visualmap_opts=opts.VisualMapOpts(range_color=range_color,),))return map1

在这里插入图片描述

3.3 起始时间分布

在这里插入图片描述

  • 骑行订单量在早8时和晚16时达到峰值,这两个时间正好是早晚高峰时间
    大部分的骑行订单集中在16时-20时

3.4 结束时间分布

在这里插入图片描述

3.5 骑行里程分布

def get_scatter():scatter = (Scatter().add_xaxis(x_data).add_yaxis('',y_data,label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title='5-骑行里程分布',subtitle=subtitle,pos_top='2%',pos_left='center',),visualmap_opts=opts.VisualMapOpts(is_show=False,range_color=range_color,)))return scatter

在这里插入图片描述

3.6 骑行里程区间占比

在这里插入图片描述

  • 3公里以内的骑行订单占比达到80%,其中1-2公里区间最多,占比约34%

3.7 骑行时长(s)

在这里插入图片描述

3.8 骑行时长区间占比

def get_pie():pie = (Pie().add('',[list(z) for z in zip(x_data, y_data)]).set_global_opts(title_opts=opts.TitleOpts(title='8-骑行时长区间占比',subtitle=subtitle,pos_top='2%',pos_left='center',),visualmap_opts=opts.VisualMapOpts(is_show=False,range_color=range_color,),))return pie

在这里插入图片描述

  • 15分钟以内的骑行订单占比达到78%,其中5-10分钟这个区间最多,占比约34%

🏳️‍🌈 4. 可视化项目源码+数据

点击跳转:【全部可视化项目源码+数据】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com