Python数据分析库pandas高级接口dt的使用详解
Series对象和DataFrame的列数据提供了cat、dt、str三种属性接口(accessors),分别对应分类数据、日期时间数据和字符串数据,通过这几个接口可以快速实现特定的功能,非常快捷。
今天翻阅pandas官方文档总结了以下几个常用的api。
1.dt.date 和 dt.normalize(),他们都返回一个日期的 日期部分,即只包含年月日。但不同的是date返回的Series是object类型的,normalize()返回的Series是datetime64类型的。
这里先简单创建一个dataframe。
2.dt.year、dt.month、dt.day、dt.hour、dt.minute、dt.second、dt.week (dt.weekofyear和dt.week一样)分别返回日期的年、月、日、小时、分、秒及一年中的第几周
3.dt.weekday(dt.dayofweek一样)返回一周中的星期几,0代表星期一,6代表星期天,dt.weekday_name返回星期几的英文。
4.dt.dayofyear 返回一年的第几天,dt.quarter得到每个日期分别是第几个季度。
5.dt.is_month_start和dt.is_month_end 判断日期是否是每月的第一天或最后一天,可以将month换成year和quarter相应的判断日期是否是每年或季度的第一天或最后一天.
6.dt.is_leap_year 判断是否是闰年
7.dt.month_name() 返回月份的英文名称.
补充知识:pandas字符串与时间序列的处理 str 与 dt
一、str属性
pandas里的Series有一个str属性,通个这个属性可以调用一些对字符串处理的通用函数,
如:df['road'].str.contains('康庄大道') 会返回字符串里包含'康庄大道'的数据。
二、dt属性
pandas里对时间序列的处理,使用dt属性,如
df['datetime'].dt.time > time(10,0)
两个series的and比较 是使用 &运算符,如
(df['datetime'].dt.time > time(10,0) ) & (df['datetime'].dt.time < time(12,0)),
返回10点到12点之间的数据。
三、apply 函数示例
df['time'] = df['datetime'].apply(lambda x: x.time())
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
相关文章
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
今天小编就为大家分享一篇利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-01-01python+requests+pytest接口自动化的实现示例
这篇文章主要介绍了python+requests+pytest接口自动化的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-04-04Python threading模块condition原理及运行流程详解
这篇文章主要介绍了Python threading模块condition原理及运行流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-10-10influx+grafana自定义python采集数据和一些坑的总结
一些数据的类型不正确会导致no datapoint的错误,真是令人抓狂,本文就是总结一下采集数据种的一些坑,希望大家可以从中获益2018-09-09
最新评论