本篇笔记为原书第十一章节的内容。
- Working with dates and times
本章节主要是对Pandas的Series与DataFrame时间数据进行相关操作。
- pd.Timestamp() # pandas时间对象(相当于python中的datetime)
(pd.Timestamp(year = 1991, month = 4, day = 12, minute = 2)
== dt.datetime(year = 1991, month = 4, day = 12, minute = 2))
# True
- pd.read_csv() # parse_dates参数进行日期解析
- pd.to_datetime(df['date_col']) # 对日期列数据进行日期格式转换
对日期对象进行操作
- df['date_col'].dt # 取得日期对象 DatetimeProperties
-- df['date_col'].dt.day
-- df['date_col'].dt.month
-- df['date_col'].dt.year
-- df['date_col'].dt.dayofweek
-- df['date_col'].dt.day_name()
-- df['date_col'].dt.is_quarter_start
-- df['date_col'].dt.is_quater_end
-- df['date_col'].dt.is_month_start
-- df['date_col'].dt.is_month_end
-- df['date_col'].dt.is_year_start
-- df['date_col'].dt.is_year_end
日期偏移操作
- pd.DateOffset(year=int, months=int, days=int) # 构造一时间偏移值
disney["Date"] + pd.DateOffset(days = 5) # 天数往后加5天
disney["Date"] - pd.DateOffset(days = 5)
DateOffset object is optimal for adding or subtracting a consistent amount of time to or from each date.
pd.offsets 对象进行日期操作
- pd.offsets.MonthEnd()
- pd.offsets.MonthBegin()
- pd.offsets.BMonthEnd()
pd.offsets module includes additional offsets for rounding to the starts and
ends of quarters, business quarters, years, business years, and more.
- pd.Timedelta() # 有days,hours,minutes和seconds参数进行时间偏移设置
- pd.to_timedelta() # 通过unit指定偏移时间单位(day, hour,minute)
pd.to_timedelta([5, 10, 15], unit = "day")
也可对日期列数据进行排序操作sort_values。
日期列进行逻辑比较操作(大于,小于等)
日期差操作等。