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

文章目录

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

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

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

涉及到的库:

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

🏳️‍🌈 1. 导入模块

python 复制代码
import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')

🏳️‍🌈 2. Pandas数据处理

2.1 读取数据

python 复制代码
df1 = pd.read_excel('./共享单车数据.xlsx')

2.2 查看数据信息

python 复制代码
df.info()

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

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

2.4 增加骑行时长区间列

python 复制代码
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 增加骑行里程区间列

python 复制代码
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 各行政区单车骑行量

python 复制代码
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 各行政区单车里程热图

python 复制代码
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 骑行里程分布

python 复制代码
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 骑行时长区间占比

python 复制代码
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. 可视化项目源码+数据

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


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

相关推荐
李慕婉学姐4 小时前
【开题答辩过程】以《基于社交网络用户兴趣大数据分析》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
数据挖掘·数据分析
墨理学AI17 小时前
一文学会一点python数据分析-小白原地进阶(mysql 安装 - mysql - python 数据分析 - 学习阶段梳理)
python·mysql·数据分析
数研小生17 小时前
亚马逊商品列表API详解
前端·数据库·python·pandas
jianghua00117 小时前
Python中的简单爬虫
爬虫·python·信息可视化
databook17 小时前
像搭积木一样思考:数据科学中的“自下而上”之道
python·数据挖掘·数据分析
wang_yb17 小时前
像搭积木一样思考:数据科学中的“自下而上”之道
数据分析·databook
CS创新实验室19 小时前
Pandas 3 的新功能
android·ide·pandas
qq_12498707531 天前
基于Hadoop的信贷风险评估的数据可视化分析与预测系统的设计与实现(源码+论文+部署+安装)
大数据·人工智能·hadoop·分布式·信息可视化·毕业设计·计算机毕业设计
2501_943695332 天前
高职大数据技术专业,怎么参与开源数据分析项目积累经验?
大数据·数据分析·开源
码界筑梦坊2 天前
326-基于Python的影视数据可视化分析系统
信息可视化