Pandas日期数据处理
- Pandas 日期数据处理
- 前言
- 一、DataFrame的日期数据转换
- 二、使用步骤
- 1.各种日期格式转换示例:
- 2.将数组组合起来转换为日期数据(示例):
- 3.日期属性访问器对象(dt)
- 4.获取日期区间
- 总结
前言
日常工作中,日期格式有多种表达形式,比如年份开头或是月份开头2022/6/4、6/4/2022等,通过pandas的日期数据处理,可以将不同的日期格式进行统一,并进行过滤分类分析等操作,方便我们后续工作使用。
提示:以下是本篇文章正文内容,下面案例可供参考
一、DataFrame的日期数据转换转换格式及参数:
pandas.to_datetime(arg,eerors='ignore',dayfirst=False,yearfirst=False,utc=None,box=Ture, format=None,exact=Ture,unit=None,infer_datetime_format=False,origin='unix',cache=False)
参数说明
二、使用步骤 1.各种日期格式转换示例:arg: 字符串、日期时间、字符串数组
errors:igonre无视错误,raise无效的解析将引发异常,coerce无效解析设置为NaT。
dayrirst: 类型为布尔值,默认False;如果为True,解析第一个为天,例如:01/05/2022,解析为2022-05-01
yearfirst:类型:布尔值,默认False;如果为True,解析第一个为年,例如:22-05-01,解析为2022-05-01
utc: 默认为None,返回utc,即协调时间时间
box: 布尔值,默认为True,返回DatetimeIndex;如果为False,返回值的ndarray.
format :格式化显示时间的格式。字符串,默认值为None
exact: 布尔值,默认False.如果为True,则要求格式完全区配;如果为False,则允许格式与目标字符串中的任意位置区配
infer_datetime_format: 默认为False.没有格式,尝试根据第一个日期推断出格式
origin: 默认unix。定义参考日期。数值将解析为单位数。
cache: 默认值为False。设置True启动缓存加速。
import pandas as pd
pd.set_option('display.unicode.east_asian_width',True) #设置对其
df = pd.DataFrame({'原日期':['01-Mar-22','05/01/2022','2022.05.01','2022/05/01','20220501']})
df['日期'] = pd.to_datetime(df['原日期'])
print(df)
输出:
2.将数组组合起来转换为日期数据(示例):
df1 = pd.DataFrame({'year':[2022,2021,2020],
'month':[5,4,3],
'day':[6,7,8],
'hour':[12,13,2],
'minute':[22,2,10],
'second':[3,34,17]})
df1['组合日期'] = pd.to_datetime(df1)
print(df1)
输出:
3.日期属性访问器对象(dt)
Series.dt() #返回dt对象
dt对象是Series对象中用于获取日期属性的一个访问器对象,使用它可以获取日期中的年月日、星期数和季节等,还可以判断日期是否属于年底。
dt对象的属性方法:
dt.year
dt.month
dt.day
dt.dayofweek
dt.dayofyear
dt.is_leap_year
dt.quater
dt.weekday_name
获取年、月、日,具体代码如下:
df['年'] = df['日期'].dt.year df['月'] = df['日期'].dt.month df['日'] = df['日期'].dt.day
获取日期所处的星期数:
df['星期几']=df['日期'].dt.day_name()
判断日期是否在年底最后一天:
df['是否年底']=df['日期'].dt.is_year_end
获取日期所属的季节:
df['季度']=df['日期'].dt.quarter
输出结果:
4.获取日期区间
当DataFrame对象使用日期为索引时,可以输入日期或日期区间获取数据
设置日期为索引:
df1.set_index(df1['组合日期'],inplace=True)
获取2022年的数据
df1.loc['2021']
输出:
获取2022到2022的数据
df1.loc['2022':'2020']
输出:
获取具体某一天的数据(如2022年5月6日)
df1.loc['2022-5-06':'2022-05-06']
输出
总结
以上就是今天要讲的内容,本文介绍了pandas的日期数据处理使用,pandas还提供了大量日期处理属性和方法,可以用于统计和分析数据。



