LightGBM预测饭店流量1: 数据处理

本文介绍使用LightGBM预测饭店流量的第一部分,主要涉及数据处理,包括数据汇总、日历、地区、天气和信息数据的分析。通过shift()操作分析节假日影响,处理异常点,并利用指数加权移动平均提取时间序列信息。数据集已进行划分,为后续的模型建立与预测做好准备。
摘要由CSDN通过智能技术生成
  • 饭店流量数据
import pandas as pd
air_visit = pd.read_csv('air_visit_data.csv')
air_visit.index = pd.to_datetime(air_visit['visit_date'])
air_visit.head()

在这里插入图片描述

# 按天来算
air_visit = air_visit.groupby('air_store_id').apply(lambda i: i['visitors'].resample('1d'))

# 缺失值填0
air_visit['visit_date'] = air_visit['visit_date'].dt.strftime('%Y-%m-%d')
air_visit['was_mil'] = air_visit['visitors'].isnull()
air_visit['visitors'].fillna(0, inplace = True)
air_visit.head()

在这里插入图片描述

  • 日历数据

shift()操作对数据进行移动, 可以观察前一天和后一天是不是节假日

date_info = pd.read_csv('date_info.csv')

date_info.rename(columns={
   'holiday_flg':'is_holiday', 'calendar_date':'visit_date'}, inplace=True)

date_info['prev_day_is_holiday'] = date_info['is_holiday'].shift().fillna(0)
date_info['next_day_is_holiday'] = date_info['is_holiday'].shift(-1).fillna(0)
date_info.head()

在这里插入图片描述

  • 地区数据
air_store_info = pd.read_csv('air_store_info.csv')
air_store_info.head()

在这里插入图片描述

  • 测试集
import numpy as np
submission = pd.read_csv('sample_submission.csv')

submission['air_store_id'] = submission['id'].str.slice(0, 20)
submission['visit_date'] = submission['id'].str.slice(21)
submission['is_test'] = True
submission['visitors'] = na.nan
submission['test_number'] = range(len(submission))
submission.head()

在这里插入图片描述

数据汇总

print(air_visit.shape, submission.shape)
data = pd.concat((air_visit, submission.drop('id', axis = 'columns')))
print(data.shape)
data.head()

(296279, 4) (32019, 6)
(328298, 6)
在这里插入图片描述

data['is_test'].fillna(False, inplace = True)
print(data_info.shape, data.shape)
data = pd.merge(left=data, right=date_info, on='visit_date', how='left')

print(air_store_info.shape, data.shape)
data = pd.merge(left=data, right=air_store_info, 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值