Pandas怎樣解析日期的年月日
哈嘍大家好,我是螞蟻啊,給大家分享個Pandas的小知識。
如果一個數(shù)據(jù)文件中,有一列是日期列,怎樣快速提取日期的年、月、日、周、季等信息呢?
方法就是pandas提供的to_datetime函數(shù)了,可以看下代碼演示:
1、讀取數(shù)據(jù)文件
import pandas as pdfpath?=?"./datas/beijing_tianqi_2018.csv"df = pd.read_csv(fpath)df.head()
看下數(shù)據(jù):
ymd bWendu yWendu tianqi fengxiang fengli aqi aqiInfo aqiLevel0 2018-01-01 3 -6 晴~多云 東北風(fēng) 1-2級 59 良 21 2018-01-02 2 -5 陰~多云 東北風(fēng) 1-2級 49 優(yōu) 12 2018-01-03 2 -5 多云 北風(fēng) 1-2級 28 優(yōu) 13 2018-01-04 0 -8 陰 東北風(fēng) 1-2級 28 優(yōu) 14 2018-01-05 3 -6 多云~晴 西北風(fēng) 1-2級 50 優(yōu) 1
2、把日期變成索引列
df.set_index(pd.to_datetime(df["ymd"]), inplace=True)#?看下索引列df.indexdf.head().index
我們看到這一列變成了DatetimeIndex類型:
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04','2018-01-05'],dtype='datetime64[ns]', name='ymd', freq=None)
3、現(xiàn)在可以直接訪問日期的各個屬性了
年
# 年df.head().index.year結(jié)果:Int64Index([2018,?2018,?2018,?2018,?2018],?dtype='int64',?name='ymd')
月
# 月df.head().index.month結(jié)果:Int64Index([1,?1,?1,?1,?1],?dtype='int64',?name='ymd')
日
# 日df.head().index.day結(jié)果:Int64Index([1,?2,?3,?4,?5],?dtype='int64',?name='ymd')
周
# 周df.head().index.week結(jié)果:Int64Index([1,?1,?1,?1,?1],?dtype='int64',?name='ymd')
季
# 季df.head().index.quarter結(jié)果:Int64Index([1,?1,?1,?1,?1],?dtype='int64',?name='ymd')
Pandas提供了更多的解析日期的各個屬性,鏈接為:
https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#time-date-components
如果覺得本文對你有幫助,幫忙點(diǎn)個贊吧^_^
評論
圖片
表情
