1、pandas.to_datetime常用参数说明
pandas.
to_datetime
(arg, errors='raise', dayfirst=False, yearfirst=False, utc=None, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', cache=True
- errors:参数raise时,表示传入数据格式不符合是会报错;ignore时,表示忽略报错返回原数据;coerce用NaT时间空值代替。
- dayfirst:表示传入数据的前两位数为天。如‘030820’——》2020-03-08.
- yearfirst:表示传入数据的前两位数为年份。如‘030820’——》2003-08-20.
- format:自定义输出格式,如“%Y-%m-%d”.
- unit:可以为['D', 'h' ,'m', 'ms' ,'s', 'ns']
- infer_datetime_format:加速计算
- origin:自定义开始时间,默认为1990-01-01
1.1、实例
- errors参数
1 pd.to_datetime(['2014-03-04','123'], format='%Y-%m-%d',errors='raise')
报错
1 pd.to_datetime(['2014-03-04','123'], format='%Y-%m-%d',errors='ignore')
1 pd.to_datetime(['2014-03-04','123'], format='%Y-%m-%d', errors='coerce')
- unit参数
1 pd.to_datetime(1490195805, unit='s') #精确到秒
1 pd.to_datetime(2490195905423302912, unit='ns')#精确到纳秒
- origin参数
1 pd.to_datetime([1, 32, 3], unit='h', 2 origin=pd.Timestamp('2020-01-01')) #与起始时间相加,unit可以为【(D,s,ms,us,ns)】
- dayfirst与yearfirst参数
2、date_time格式属性
读取数据并将时间列转为datetime格式
2.1 提取年月日
1 #提取年月日 2 print(f'{f[0]} 提取年月日为: {f[0].year}年{f[0].month}月{f[0].day}日')
2.2 提取时分秒
1 #提取时分秒 2 print(f'{f[0]} 提取时分秒为: {f[0].hour}时{f[0].minute}分{f[0].second}秒')
2.3 提取季节、星期
1 #提取季节星期 2 print(f'{f[0]} : 第{f[0].quarter}季,星期:{f[0].weekday_name},数字表示星期:{f[0].dayofweek}')
3、批量处理datetime格式
3.1 列表推导式提取星期再统计
1 #列表推导式提取星期再统计 2 pd.Series([i.weekday_name for i in f]).value_counts()
3.2 Series数据的apply应用
1 #Series数据的apply应用 2 f.apply(lambda x:x.weekday_name).value_counts() #apply 循环
3.3 datetime数据批量处理
1 # datetime数据批量处理 2 f.dt.weekday_name.value_counts()
结果都一样