如何深入掌握Pandas库中dt高级接口的详细应用技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计668个文字,预计阅读时间需要3分钟。
%E2%80%9CSeries%E5%AF%B9%E8%B1%A1%E5%92%8CDataFrame%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%97%E6%95%B0%E6%8D%AE%E6%8F%90%E5%8F%96%E6%96%B9%E5%BC%8F%EF%BC%8C%E5%8F%AF%E4%BB%A5%E6%8E%A5%E5%8F%A6%E5%88%86%E7%B1%BB%E6%95%B0%E6%8D%AE%EF%BC%8C%E6%97%A5%E6%9C%9F%E6%97%B6%E9%97%B4%E6%95%B0%E6%8D%AE%E5%92%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%95%B0%E6%8D%AE%EF%BC%8C%E6%9C%80%E5%A4%A7%E6%98%BE%E7%A4%BA%E5%8A%9B%E8%83%BD%E8%BF%9B%E8%A1%8C%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0%E2%80%9D
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())
以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。如有错误或未考虑完全的地方,望不吝赐教。
本文共计668个文字,预计阅读时间需要3分钟。
%E2%80%9CSeries%E5%AF%B9%E8%B1%A1%E5%92%8CDataFrame%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%97%E6%95%B0%E6%8D%AE%E6%8F%90%E5%8F%96%E6%96%B9%E5%BC%8F%EF%BC%8C%E5%8F%AF%E4%BB%A5%E6%8E%A5%E5%8F%A6%E5%88%86%E7%B1%BB%E6%95%B0%E6%8D%AE%EF%BC%8C%E6%97%A5%E6%9C%9F%E6%97%B6%E9%97%B4%E6%95%B0%E6%8D%AE%E5%92%8C%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%95%B0%E6%8D%AE%EF%BC%8C%E6%9C%80%E5%A4%A7%E6%98%BE%E7%A4%BA%E5%8A%9B%E8%83%BD%E8%BF%9B%E8%A1%8C%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0%E2%80%9D
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())
以上为个人经验,希望能给大家一个参考,也希望大家多多支持易盾网络。如有错误或未考虑完全的地方,望不吝赐教。

