Python数据分析库pandas高级接口dt, str, cat等相关

目录

1. 概况

2. dt.date 和 dt.normalize()

2.1

2.2

2.3

2.4

2.5


1. 概况

Series对象和DataFrame的列数据提供了cat、dt、str三种属性接口(accessors),分别对应分类数据、日期时间数据和字符串数据,通过这几个接口可以快速实现特定的功能,非常快捷。

DataFrame数据中的日期时间列支持dt接口,该接口提供了dayofweek、dayofyear、is_leap_year、quarter、weekday_name等属性和方法,例如quarter可以直接得到每个日期分别是第几个季度,weekday_name可以直接每个日期对应的周几的名字。DataFrame数据中的字符串列支持str接口,该接口提供了center、contains、count、endswith、find、extract、lower、split等大量属性和方法,大部分用法与字符串的同名方法相同,少部分与正则表达式的用法类似。
 

2. dt.date 和 dt.normalize()

2.1

dt.date 和 dt.normalize(),他们都返回一个日期的 日期部分,即只包含年月日。但不同的是date返回的Series是object类型的,normalize()返回的Series是datetime64类型的。 这里先简单创建一个dataframe

2.2

dt.year、dt.month、dt.day、dt.hour、dt.minute、dt.second、dt.week (dt.weekofyear和dt.week一样)分别返回日期的年、月、日、小时、分、秒及一年中的第几周

dt.year、dt.month、dt.day、dt.hour、dt.minute、dt.second、dt.isocalendar().week 分别返回日期的年、月、日、小时、分、秒及一年中的第几周

train_data['年']=train_data['数据时间'].dt.year
train_data['月']=train_data['数据时间'].dt.month
train_data['日']=train_data['数据时间'].dt.day
train_data['小时']=train_data['数据时间'].dt.hour
train_data['一年中的第几周']=train_data['数据时间'].dt.isocalendar().week

##    返回的都是整数,除了isocalendar().week返回的是dtype: UInt32

2.3

dt.weekday(dt.dayofweek一样)返回一周中的星期几,0代表星期一,6代表星期天,dt.weekday_name返回星期几的英文。

2.4

dt.dayofyear 返回一年的第几天,dt.quarter得到每个日期分别是第几个季度。

2.5

dt.is_month_start和dt.is_month_end 判断日期是否是每月的第一天或最后一天,可以将month换成year和quarter相应的判断日期是否是每年或季度的第一天或最后一天.

小技巧
也可以读取数据的时候,直接转换成时间类型,参数parse_dates=

offline_train = pd.read_csv(r'D:\train.csv',
                           parse_dates=['Date_received', 'Date'],encoding='gbk')

参考:

Python数据分析库pandas高级接口dt的使用详解_dt函数python-CSDN博客

Python数据分析库pandas高级接口dt的使用_pandas dt-CSDN博客

pandas时间类型数据处理,dt模块_dt.date-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值