29476人加入学习
(0人评价)
2019-2020-2-Python数据分析与机器学习项目

最适合编程小白的python数据实战课程

价格 ¥ 19.90
音频听课 手机端支持一键听课 (试一试)
该课程属于 YQX20O129 请加入后再学习
import numpy as np
import matplotlib.pyplot as plt
import os
def data_query():
    file_dir = '../data'
    file_names = ['2019-q1_trip_history_data - short.csv',
                 '2019-q2_trip_history_data - short.csv',
                 '2019-q3_trip_history_data - short.csv',
                 '2019-q4_trip_history_data - short.csv']
    arrs=[]
    for file_name in file_names:
        file_path = os.path.join(file_dir,file_name)
        arr = np.loadtxt(file_path,dtype=np.str,  delimiter=',',skiprows=1)
        arrs.append(arr)
    return arrs

def data_process(arrs):
    #1.得到一个全年的大表arr_all
    arr_all = np.vstack(arrs)
    #2.在表中分别对member.casual进行过滤,分成两个表
    arr_members = arr_all[arr_all[:, -1] == "Member"]
    arr_casuals = arr_all[arr_all[:, -1] == "Casual"]
    #3.只需要member的duration,casualduration数据,并且转换分钟处理
    #4.得到member_duration,casual_duration
    arr_min_members = arr_members[:,0].astype(np.float)/1000/60
    arr_min_casuals = arr_casuals[:,0].astype(np.float)/1000/60

    return arr_min_members,arr_min_casuals

def data_analysis(process_data):
    pass
def data_display(arr_min_members,arr_min_casuals):
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.rcParams['axes.unicode_minus'] = False
    # 1. plt.hist来画图
    # 2. 两个图 subfigure用子图分别呈现
    # 3. member_duration_lst + casual_duration_lst(以分钟为单位)
    plt.figure(figsize=(10, 5))
    ax1 = plt.subplot(1, 2, 1)
    plt.title("共享单车全年不同类型用户骑行时间直方图")
    # 0~180分钟
    plt.hist(arr_min_members, bins=12, range=(0, 181), color='g', edgecolor='k')
    plt.xticks(range(0, 181, 15), range(0, 181, 15))
    plt.title("Member")
    # plt.ylim(0,2500)

    plt.subplot(1, 2, 2, sharey=ax1)
    plt.hist(arr_min_casuals, bins=12, range=(0, 181), color='r', edgecolor='y')
    plt.xticks(range(0, 181, 15), range(0, 181, 15))
    plt.title("Casual")
    # plt.ylim(0,2500)

    plt.savefig("../output/zhifangtu2.png")
    plt.show()

if __name__ == '__main__':
    raw_data = data_query()
    arr_min_members,arr_min_casuals = data_process(raw_data)
    #analysised_data= data_analysis(processed_data)
    data_display(arr_min_members,arr_min_casuals)

 

[展开全文]

授课教师

课程特色

直播(16)
文档(1)
作业(16)
下载资料(4)
图文(4)
PPT(4)

学员动态

丁昶201708440907 的作业"5-27实训日志"已被批阅
董应鹏201708440909 的作业"5-27实训日志"已被批阅
赵欣雅201608441052 的作业"5-27实训日志"已被批阅