提取出日期数据中的年月日周数据
在数据分析任务中经常会遇到时间数据(比如20190825或者2019-08-25)那么该如何对数据中的年月日进行分离呢?
如下例子:
提取出数据中该日期在该年的第几周
对于这个问题,我们可以采用pandas的第三方函数进行提取
例如提取出每个月含有多少天:
附录:pandas常用的日期处理函数
例如语句:
example['days_in_month'] = pd.to_datetime(example['date_time']).dt.days_in_month
在使用常用时间内的函数实现功能时只需要将dt后的api更换即可。
常用时间
类别 | 解释 |
---|---|
year | 年 |
month | 月 |
day | 日 |
hour | 时 |
minute | 分钟 |
second | 秒 |
microsecond | 微秒 |
nanosecond | 纳秒 |
date | 返回日期 |
time | 返回时间 |
dayofyear | 年序日 |
weekofyear | 年序周 |
week | 周 |
dayofweek | 周中的第几天,Monday=0, Sunday=6 |
weekday | 周中的第几天,Monday=0, Sunday=6 |
weekday_name | 周中的星期几,ex: Friday |
quarter | 季度 |
days_in_month | 一个月中有多少天 |
is_month_start | 是否月初第一天 |
is_month_end | 是否月末最后一天 |
is_quarter_start | 是否季度的最开始 |
is_quarter_end | 是否季度的最后一个 |
is_year_start | 是否年初第一天 |
is_year_end | 是否年末第一天 |
某一时间点,往前往后加一段时间
该部分api几乎没有使用过,而且使用频率比较低,如果以后需要用到,会再做更新。
类别 | 解释 |
---|---|
BDay | 工作日 |
CDay | 自定义日期 |
Week | 周 |
WeekOfMonth | 月中的第几周 |
LastWeekOfMonth | 月中的最后一周 |
MonthEnd | 日历上月末 |
MonthBegin | 日历上月初 |
BMonthEnd | 工作月初 |
BMonthBegin | 月开始营业 |
CBMonthEnd | 自定义月末 |
CBMonthBegin | 自定义月初 |
QuarterEnd | 日历季末 |
QuarterBegin | 日历季初 |
BQuarterEnd | 工作季末 |
BQuarterBegin | 工作季初 |
FY5253Quarter | retail (aka 52-53 week) quarter |
YearEnd | 日历年末 |
YearBegin | 日历年初 |
BYearEnd | 工作年末 |
BYearBegin | 工作年初 |
FY5253 | retail (aka 52-53 week) year |
BusinessHour | 工作小时 |
CustomBusinessHour | 自定义小时 |
Hour | 小时 |
Minute | 分钟 |
Second | 秒 |