pandas提取时间里面的年月日_Pandas中时间和日期处理

1、生成一个时间段

In [1]:import pandas as pd

In [2]:import numpy as np

1)生成一个时间区间段,间隔为小时

In [3]:rng = pd.date_range("1/1/2011", periods=72, freq="H")

2)生成一个Series,并制定索引为时间段

In [4]:ts = pd.Series(np.random.randn(len(rng)), index=rng)

In [5]:ts

Out[5]:

2011-01-01 00:00:00 -0.204085

2011-01-01 01:00:00 1.101711

2011-01-01 02:00:00 1.840500

2011-01-01 03:00:00 0.112426

2011-01-01 04:00:00 -0.310413

2011-01-01 05:00:00 1.180762

2011-01-01 06:00:00 0.087775

2011-01-01 07:00:00 1.087877

2011-01-01 08:00:00 -0.950237

2011-01-01 09:00:00 -0.468453

Freq: H, dtype: float64

3)改变时间间隔

In [6]:converted = ts.asfreq("45Min", method="pad")

In [7]:converted

Out[7]:

2011-01-01 00:00:00 -0.204085

2011-01-01 00:45:00 -0.204085

2011-01-01 01:30:00 1.101711

2011-01-01 02:15:00 1.840500

2011-01-01 03:00:00 0.112426

2011-01-01 03:45:00 0.112426

2011-01-01 04:30:00 -0.310413

2011-01-01 05:15:00 1.180762

2011-01-01 06:00:00 0.087775

2011-01-01 06:45:00 0.087775

2011-01-01 07:30:00 1.087877

2011-01-01 08:15:00 -0.950237

2011-01-01 09:00:00 -0.468453

Freq: 45T, dtype: float64

2、转换为日期格式

2.1 数字生成日期格式

In [8]: pd.Timestamp(datetime(2012, 5, 1))

Out[8]: Timestamp("2012-05-01 00:00:00")

2.2 字符生成日期格式

In [9]: pd.Timestamp("2012-05-01")

Out[9]: Timestamp("2012-05-01 00:00:00")

2.3 只有年月

In [10]: pd.Period("2011-01")

Out[10]: Period("2011-01", "M")

In [11]: pd.Period("2012-05", freq="D")

Out[11]: Period("2012-05-01", "D")

2.4 转化为日期格式

In [22]: pd.to_datetime(pd.Series(["Jul 31, 2009", "2010-01-10", None]))

Out[22]:

0 2009-07-31

1 2010-01-10

2 NaT

dtype: datetime64[ns]

In [23]: pd.to_datetime(["2005/11/23", "2010.12.31"])

Out[23]: DatetimeIndex(["2005-11-23", "2010-12-31"], dtype="datetime64[ns]", freq=None)

3、生成一个时间段

3.1 生成索引的方法

In [35]: dates = [datetime(2012, 5, 1), datetime(2012, 5, 2), datetime(2012, 5, 3)]

Note the frequency information

In [36]: index = pd.DatetimeIndex(dates)

In [37]: index

Out[37]: DatetimeIndex(["2012-05-01", "2012-05-02", "2012-05-03"], dtype="datetime64[ns]", freq=None)

Automatically converted to DatetimeIndex

In [38]: index = pd.Index(dates)

In [39]: index

Out[39]: DatetimeIndex(["2012-05-01", "2012-05-02", "2012-05-03"], dtype="datetime64[ns]", freq=None)

date_range日历,bdate_range工作日

In [40]: index = pd.date_range("2000-1-1", periods=1000, freq="M")

In [41]: index

Out[41]:

DatetimeIndex(["2000-01-31", "2000-02-29", "2000-03-31", "2000-04-30",

"2000-05-31", "2000-06-30", "2000-07-31", "2000-08-31",

"2000-09-30", "2000-10-31",

...

"2082-07-31", "2082-08-31", "2082-09-30", "2082-10-31",

"2082-11-30", "2082-12-31", "2083-01-31", "2083-02-28",

"2083-03-31", "2083-04-30"],

dtype="datetime64[ns]", length=1000, freq="M")

In [42]: index = pd.bdate_range("2012-1-1", periods=250)

In [43]: index

Out[43]:

DatetimeIndex(["2012-01-02", &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值