共享单车c语言项目,共享单车项目分析

一、提出问题

在本项目中,参与者被要求将历史使用模式与天气数据相结合,以便预测华盛顿特区的自行车租赁计划中的自行车租赁需求。

二、理解数据

2.1 收集数据

一般而言,数据由甲方提供。若甲方不提供数据,则需要根据相关问题从网络爬取,或者以问卷调查形式收集。本次共享单车数据分析项目数据源于Kaggle。获取数据后需要对数据整体进行分析,从而提炼问题,为后续建模奠定基础。

首先查看Kaggle所提供的数据描述:

(1)    日期时间:年/月/日/时间,例:2011/1/1 0:00

(2)    季节:1=春,2=夏,3=秋天,4=冬天

(3)    假日:是否是节假日(0=否,1=是)

(4)    工作日:是否是工作日(0=否,1=是)

(5)    天气:1=晴天、多云等(良好),2=阴天薄雾等(普通),3=小雪、小雨等(稍差),4=大雨、冰雹等(极差)

(6)    实际温度(℃)

(7)    感觉温度(℃)

(8)    湿度

(9)    风速

(10)未注册用户租借数量

(11)注册用户租借数量

(12)总租借数量

根据官方数据描述,特征为前9项,分别为日期时间(1)、季节(2)、工作日/节假日(3-4)、天气(5-9)四类;标签为后3项:注册/未注册用户租借数量以及租借总数。因为官方规定的提交文件中要求预测的只有租借总数,因此本项目中只关注租借总数的预测。

2.2导入并理解数据

首先导入并查看训练数据和测试数据:import pandas as pd

#导入并查看训练数据和测试数据

train_data = pd.read_csv('data/train.csv')

test_data = pd.read_csv('data/test.csv')

print(train_data.shape)

print(train_data.info())

print(test_data.shape)

print(test_data.info())

训练数据共12列,10886行,测试数据共9列,6493行,且所有数据完整,没有缺失。相比于训练数据,测试数据缺少注册/未注册用户租借数量以及租借总数3个标签,需要我们通过建模进行预测。

三、数据处理与分析

3.1 数据预处理

在数据处理过程中,最好将训练数据与测试数据合并在一起处理,方便特征的转换。通过查看数据,训练和测试数据均无缺失、不一致和非法等问题。值得注意的是,日期时间特征由年、月、日和具体小时组成,还可以根据日期计算其星期,因此可以将日期时间拆分成年、月、日、时和星期5个特征。#第二步:数据预处理

#合并两种数据,使之共同进行数据规范化

data = train_data.append(test_data)

#拆分年、月、日、时

data['year'] = data.datetime.apply(lambda x: x.split()[0].split('-')[0])

data['year'] = data['year'].apply(lambda x: int(x))

data['month'] = data.datetime.apply(lambda x: x.split()[0].split('-')[1])

data['month'] = data['month'].apply(lambda x: int(x))

data['day'] = data.datetime.apply(lambda x: x.split()[0].split('-')[2])

data['day'] = data['day'].apply(lambda x: int(x))

data['hour'] = data.datetime.apply(lambda x: x.split()[1].split(':')[0])

data['hour'] = data['hour'].apply(lambda x: int(x))

data['date'] = data.datetime.apply(lambda x: x.split()[0])

data['weekday'] = pd.to_datetime(data['date']).dt.weekday_name

data['weekday']=data['weekday'].map({'Monday&#

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目前大家比较熟悉共享单车的使用。请编制一个共享单车的管理程序,实现如下基本功能。假设有5种品牌的共享单车(品牌内容自定)。 针对该5种品牌的共享单车,自行设计一套包含每种单车的品牌名称、投放量、投放点、某一时间点的在用数量、每辆车的每天骑行次数及单次里程和总里程、开锁过程中发现的损坏次数等信息(所有相关数据均自行设计)的数据结构; 随着骑行活动的开展,待使用单车的数量将发生变化。要求能对每种单车的使用数量及待使用的数量进行查询统计并输出; 对于某一投放点的某一品牌的单车,如果无备用车(待使用的车均为备用车),或备用车均为损坏的车,系统应能给出信息提示; 对于损坏报修的车辆,系统能够进行及时的统计,并能在投放数量中削减损坏车辆的数量,形成真实的有效投放量; 能够对客户信息进行处理,包括注册的用户名、电话号码、骑行里程、骑行习惯(比如70%以上的出行时间集中在某个时间段,时间段按时钟整点划分)、每天平均的骑行时间等; 该系统能进行当日使用状况的统计,请用链表排序(排序算法不限)提示交易使用次数排在前三名的单车品牌; 假设每种单车的使用是收费的,如第一个小时是免费的,第二个小时开始每小时收费0.5元,各品牌可各自推出优惠收费条件(优惠条件请自定义),然后根据假设的使用情况,统计出各种品牌的日营业额,并对各品牌的受欢迎程度进行排序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值