最近参加了天池的一个机场航空人流量预测大赛,需要用时间序列来预测,因此开始使用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()

pandas学习系列(一):时间序列的更多相关文章

  1. 6.1Python数据处理篇之pandas学习系列(一)认识pandas

    目录 目录 (一)介绍与测试 2.作用: 3.导入的格式 4.小测试 (二)数据类型 1.两种重要的数据类型 2.pandas与numpy的比较 目录 (一)介绍与测试 号称处理数据与分析数据最好的第 ...

  2. 6.2Python数据处理篇之pandas学习系列(二)Series数据类型

    目录 目录 (一)Series的组成 (二)Series的创建 1.从标量中创建Series数据 2.从列表中创建Series数据 3.从字典中创建Series数据 4.从ndarry中创建Serie ...

  3. pandas学习(创建数据,基本操作)

    pandas学习(一) Pandas基本数据结构 Series类型数据 Dataframe类型 基本操作 Pandas基本数据结构 两种常用数据结构: Series 一维数组,与Numpy中的一维ar ...

  4. SPSS学习系列之SPSS Modeler的功能特性(图文详解)

    不多说,直接上干货! Win7/8/10里如何下载并安装最新稳定版本官网IBM SPSS Modeler 18.0 X64(简体中文 / 英文版)(破解永久使用)(图文详解)   我这里,是以SPSS ...

  5. 【转】Pandas学习笔记(七)plot画图

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  6. 【转】Pandas学习笔记(六)合并 merge

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  7. 【转】Pandas学习笔记(五)合并 concat

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  8. 【转】Pandas学习笔记(四)处理丢失值

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  9. 【转】Pandas学习笔记(三)修改&添加值

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

随机推荐

  1. swift学习第四章

    // Playground - noun: a place where people can play import UIKit var age=100 //假设年龄不大于50的就会在这里断言,和之前 ...

  2. SSRS参数不能默认全选的解决方法

    解决方法选自<SQL Server 2008 R2 Reporting Services 报表服务>一书,亲测有效. 注意:参数默认值如果是字符串需要类型转换 =CStr("AL ...

  3. SSRS故障排除

    1.SSRS部署到本地出现错误:为用户“Jimmy-PC\Jimmy”授予的权限不足,无法执行此操作.用户“Jimmy-PC\Jimmy”不具有所需的权限.请验证授予了足够的权限并且解决了 Windo ...

  4. 51nod-1503 猪和回文 - 二维矩阵上的dp

    题目链接 一只猪走进了一个森林.很凑巧的是,这个森林的形状是长方形的,有n行,m列组成.我们把这个长方形的行从上到下标记为1到n,列从左到右标记为1到m.处于第r行第c列的格子用(r,c)表示. 刚开 ...

  5. HDU 1796 How many integers can you find(容斥原理)

    题意 就是给出一个整数n,一个具有m个元素的数组,求出1-n中有多少个数至少能整除m数组中的一个数 (1<=n<=10^18.m<=20) 题解 这题是容斥原理基本模型. 枚举n中有 ...

  6. BZOJ 3129 [SDOI2013]方程 (拓展Lucas)

    题目大意:给定一个方程$X_{1}+X_{2}+X_{3}+X_{4}+...+X_{n}=M$,$\forall X_{i}<=A_{i} (i<=n1)$ $\forall X_{i} ...

  7. mysql 修改默认的引擎

      需求: mysql 的默认的引擎为MyISAM  虽然该引擎访问的速度快,但并不支持存储事物,也不支持外键,所以我们修改为innob Linux修改MySql默认存储引擎为InnoDB     一 ...

  8. Java多线程-基础知识

    一. 进程是执行中的程序,程序是静态的(我们写完以后不运行就一直放在那里),进程是执行中的程序,是动态概念的.一个进程可以有多个线程. 二. 多线程包含两个或两个以上并发运行的部分,把程序中每个这样并 ...

  9. CSDN 轻松周赛赛题:能否被8整除

    轻松周赛赛题:能否被8整除 题目详情 给定一个非负整数,问能否重排它的全部数字,使得重排后的数能被8整除. 输入格式: 多组数据,每组数据是一个非负整数.非负整数的位数不超过10000位. 输出格式 ...

  10. POJ 3368 Frequent values(RMQ 求区间出现最多次数的数字的次数)

    题目链接:http://poj.org/problem? id=3368 Description You are given a sequence of n integers a1 , a2 , .. ...