最近参加了天池的一个机场航空人流量预测大赛,需要用时间序列来预测,因此开始使用python的pandas库

发现pandas库功能的确很强大,因此在这记录我的pandas学习之路。

# -*- coding: utf-8 -*-
# 统计未来3小时将要起飞的人数
import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import MinMaxScaler os.chdir('C:/Users\Administrator/Desktop/competition/1017')
df = pd.read_csv('airport_gz_departure_chusai_2ndround.csv',usecols = [2,3])
df = df.dropna(axis = 0) # 删除含有空值的行
df = df[df.flight_time>df.checkin_time] # 删除flighttime早于checktime的行
df = df.sort_values(by='flight_time')# 将数据按flight_time排序
df.flight_time = pd.to_datetime(df.flight_time) #转换数据类型为Timestamp
df.checkin_time = pd.to_datetime(df.checkin_time)
df = df[(df.flight_time-df.checkin_time)<pd.Timedelta(hours=12)] #去除间隔时间相差12个小时的,12这个参数需要自己调试
df = df.flight_time
dataset = pd.tseries.index.DatetimeIndex(df.values) # 转换数据类型为DatetimeIndex times = pd.date_range(start = '2016-09-10 19:00:00',end = '2016-9-25 15:00:00',freq ='10min')
contact_nums = [] for time in times:
start = np.where(dataset>time)[0]
time = time + pd.Timedelta(hours = 3) # 统计当前时间后3小时将要起飞的乘客
end = np.where(dataset<=time)[0]
if len(end)==0:
contact_nums.append(0)
else:
contact_nums.append(end[-1]-start[0]+1) df = pd.DataFrame(contact_nums,index = times,columns = ['num'])
df.to_csv('C:/Users/Administrator/Desktop/competition/DataProcessing/Person_to_fly.csv',index_label = 'time_back') scaler = MinMaxScaler(feature_range = (0,1))
contact_nums = scaler.fit_transform(np.reshape(np.array(contact_nums),(len(contact_nums),1)).astype('float32'))
plt.plot(scaler.inverse_transform(contact_nums))
plt.show()

最新文章

  1. RabbitMQ 简介
  2. 小菜学Chromium之OpenGL学习之二
  3. VBA 每日文件按日期打包存放
  4. jQuery库中的变量$和其它类库的变量$冲突解决方案
  5. C# 将字符串转化成流,将流转换成字符串
  6. oc_转_类的数组的实现和操作
  7. 通过移动的Mas接口发送短信
  8. was配置oracle RAC集群的数据源
  9. BZOJ 1263: [SCOI2006]整数划分( 高精度 )
  10. php实现echo json_encode正确显示汉字
  11. pip安装icu失败:Command &quot;python setup.py egg_info&quot; failed with error code 1 in
  12. TableML-GUI篇(Excel编译/解析工具)
  13. div元素宽度不定的情况下如何居中显示
  14. python 函数返回多个参数的赋值方法
  15. CentOS 7.4 MySQL 5.7.20主从环境搭建(M-S)
  16. git - 简明指南
  17. scala基础学习(一)
  18. 超实用教程,教你用墨刀做出小红书app原型
  19. c# 多线程排队队列实现的源码
  20. zdump 命令查看时区和夏令时

热门文章

  1. 好莱坞原则—Spring的IOC容器
  2. Android程序全然退出的三种方法
  3. BZOJ2154: Crash的数字表格 &amp; BZOJ2693: jzptab
  4. bzoj2190: [SDOI2008]仪仗队(欧拉)
  5. JAVA设计模式之【桥接模式】
  6. correct ways to define variables in python
  7. python中各项目文件含义(新手可看)
  8. winforms控件
  9. Acme Corporation UVA - 11613 费用流
  10. vue 锚点定位