Python中时间格式数据的处理

1、时间转换

时间转换是指字符型的时间格式数据,转换成为时间型数据的过程。
一般从csv导入过来的文件,时间都保存为字符型格式的,需要转换。
时间转换函数:
datatime=pandas.to_datetime(dataString,format)

2、时间格式化

时间格式化是指将时间型数据,按照指定格式,转为字符型数据。

时间格式化函数:
dateTimeFormat=datetime.dt.strftime(format)
format有哪些:

Python中时间格式数据的处理_第1张图片

3、时间属性抽取

日期抽取,是指从日期格式里面,抽取出需要的部分属性

抽取语法:datetime.dt.property
property有哪些呢:

Python中时间格式数据的处理_第2张图片

综合代码实现:

import pandas

data = pandas.read_csv(
    'D:\\PDA\\4.16\\data.csv', 
    encoding='utf8'
)

data['时间'] = pandas.to_datetime(
    data.注册时间, 
    format='%Y/%m/%d'
)

data['格式化时间'] = data.时间.dt.strftime('%Y-%m-%d')

data['时间.年'] = data['时间'].dt.year
data['时间.月'] = data['时间'].dt.month
data['时间.周'] = data['时间'].dt.weekday
data['时间.日'] = data['时间'].dt.day
data['时间.时'] = data['时间'].dt.hour
data['时间.分'] = data['时间'].dt.minute
data['时间.秒'] = data['时间'].dt.second
    

4、时间条件过滤

根据一定的条件,对时间格式的数据进行抽取。也就是按照某些数据的要求对时间进行过滤。

① 根据索引进行抽取
DataFrame.ix[start:end]
DataFrame.ix[dates]
② 根据时间列进行抽取
DataFrame[condition] 返回布尔值数组条件

data = pandas.read_csv(
    'D:\\PDA\\4.17\\data.csv', 
    encoding='utf8'
)

dateparse = lambda dates: pandas.datetime.strptime(
    dates, '%Y%m%d'
)

data = pandas.read_csv(
    'D:\\PDA\\4.17\\data.csv', 
    encoding='utf8',
    parse_dates=['date'],
    date_parser=dateparse,
    index_col='date'
)

#根据索引进行抽取
import datetime

dt1 = datetime.date(year=2016,month=2,day=1);
dt2 = datetime.date(year=2016,month=2,day=5);

data.ix[dt1: dt2]

data.ix[[dt1,dt2]]

#根据时间列进行抽取
data = pandas.read_csv(
    'D:\\PDA\\4.17\\data.csv', 
    encoding='utf8',
    parse_dates=['date'],
    date_parser=dateparse,
)

data[(data.date>=dt1) & (data.date<=dt2)]

你可能感兴趣的:(Python数据分析篇)