数据处理之日期处理

日期转换

通常文件读取的日期都为字符型,为了计算,我们需要将这转化为日期型数据。主要用到to_datetime(x, format)函数,x是你要处理的日期型字符串,format是你要输出的日期型格式。下面我们以输出年月日格式为例:

# -*- coding: utf-8 -*-
import pandas as pd 
df = pd.read_csv(r"/Users/herenyi/Downloads/4/4.16/data.csv", encoding='utf8')
df_dt = pd.to_datetime(df.注册时间, format='%Y/%m/%d');

结果如下:

df_dt
Out[122]: 
0       2011-01-01
1       2011-01-01
2       2011-01-01
3       2011-01-01
4       2011-01-01
5       2011-01-01
6       2011-01-01
7       2011-01-01
8       2011-01-01
9       2011-01-01
10      2011-01-01
11      2011-01-01
12      2011-01-01
13      2011-01-01
14      2011-01-01
15      2011-01-01
16      2011-01-01
17      2011-01-01
18      2011-01-01
19      2011-01-01
20      2011-01-01
21      2011-01-01
22      2011-01-01
23      2011-01-01
24      2011-01-01
25      2011-01-01
26      2011-01-01
27      2011-01-01
28      2011-01-01
29      2011-01-01

日期格式化

日期格式化其实就是日期转化的逆过程,把日期型数据逆转化为字符型数据。
主要用datetime.strftime来实现。

df_dt_str = df_dt.apply(lambda x: pd.datetime.strftime(x, '%d-%m-%Y'));
df_dt_str
Out[134]: 
0        01-01-2011
1        01-01-2011
2        01-01-2011
3        01-01-2011
4        01-01-2011
5        01-01-2011
6        01-01-2011
7        01-01-2011
8        01-01-2011
9        01-01-2011
10       01-01-2011
11       01-01-2011
12       01-01-2011
13       01-01-2011
14       01-01-2011
15       01-01-2011
16       01-01-2011
17       01-01-2011
18       01-01-2011
19       01-01-2011
20       01-01-2011
21       01-01-2011
22       01-01-2011
23       01-01-2011
24       01-01-2011
25       01-01-2011
26       01-01-2011
27       01-01-2011
28       01-01-2011
29       01-01-2011

日期抽取

日期抽取是指从日期类型的数据列中抽取自己所需要的部分。主要使用datatime列.dt.property. property为时间属性,可以为year,day等等。沿用上面的时间型数据,我们抽取年份。

df_dt = pd.to_datetime(df.注册时间, format='%Y/%m/%d')
df_dt.dt.year
Out[136]: 
0        2011
1        2011
2        2011
3        2011
4        2011
5        2011
6        2011
7        2011
8        2011
9        2011
10       2011
11       2011
12       2011
13       2011
14       2011
15       2011
16       2011
17       2011
18       2011
19       2011
20       2011
21       2011
22       2011
23       2011
24       2011
25       2011
26       2011
27       2011
28       2011
29       2011

你可能感兴趣的:(数据处理)