共享单车骑行时间

Posted bellin124

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了共享单车骑行时间相关的知识,希望对你有一定的参考价值。

学习目标:

熟悉数据分析的基本流程

初步掌握Numpy中数组与向量化操作

使用Matplotlib进行简单的数据可视化

一、数据分析的流程

1.明确任务:明确目的,确定思路。

2.数据收集:网络爬虫,公开数据集,客户数据。

3数据处理:数据清洗,数据规整。

4数据分析:数据统计,探索性数据分析(EDA),数据建模。

5结果展示:数据可视化,报表生成,结果保存。

二、Numpy

高性能科学计算和数据分析的基础包,提供多维数组对象(ndarry)

具有矢量/向量化运算能力,快速、节省空间

import numpy as np

使用版本>=1.13.3

三、Matplotlib

用于创建出版质量图表的绘图工具库

目的是为Python创建一个Matlab式的绘图接口

import matplotlib.pyplot as plt

使用版本>=2.0.2

四、共享单车季度平均骑行时间

import numpy as np
import matplotlib.pyplot as plt
import os

data_path = \'D:/BaiduNetdiskDownload/MOBIKE_CUP/\'
data_filenames =[\'2017_01.csv\',\'2017_02.csv\',\'2017_03.csv\',\'2017_04.csv\']

#数据收集
def collect_data():
    data_arr_list = []
    for data_filename in data_filenames:
        data_file = os.path.join(data_path,data_filename)
        data_arr = np.loadtxt(data_file,delimiter=\',\',dtype=\'str\',skiprows=1)#读取数据
        data_arr_list.append(data_arr)
    return data_arr_list
    

#数据清洗
def prodess_data(data_arr_list):
    duration_in_min_list = []
    for data_arr in data_arr_list:
        #读取数据所有行第0列
        duration_str_col = data_arr[:,1]
        #去掉双引号
        duration_in_ms = np.core.defchararray.replace(duration_str_col,\'"\',\'\')
        #类型转换
        duration_in_min = duration_in_ms.astype(\'float\') / 1000 /60 #向量化操作将所有的ms转换为分钟
        duration_in_min_list.append(duration_in_min)
    return duration_in_min_list

#数据分析
def analyze_data(duration_in_min_list):
    duration_mean_list = []
    for i,duration in enumerate(duration_in_min_list):
        duration_mean = np.mean(duration)
        print(\'第{}季度平均骑行时间:{:.2f}分钟\'.format( i + 1 , duration_mean))
        duration_mean_list.append(duration_mean)
    return duration_mean_list

#结果展示
def show_result(duration_mean_list):
    plt.figure()
    plt.bar(range(len(duration_mean_list)),duration_mean_list)
    plt.show()

#主函数
def main():
    #数据获取
    data_arr_list = collect_data()
    #数据处理
    duration_in_min_list = prodess_data(data_arr_list)
    #数据分析
    duration_mean_list = analyze_data(duration_in_min_list)
    #结果展示
    show_result(duration_mean_list)

if __name__ == \'__main__\':
    main()

 

以上是关于共享单车骑行时间的主要内容,如果未能解决你的问题,请参考以下文章

共享电单车是否只能在自己镇的范围内骑,不能骑到其他镇上去?

共享单车的锁是啥原理?共享单车的利弊都有哪些?

这个冬天,将是共享单车最艰难的时刻

共享单车的定位系统芯片是放在单车的啥位置上

共享单车APP定制为什么深受大学生依赖?

共享单车是如何将二维码与自行车联系在一起的