【Pandas 基础知识 日期数据处理】

前言

        万丈高楼平地起,基础知识要牢靠;本文介绍了to_datetime(),Series.dt()和to_period()的基本用法,具体包括,常见日期格式转换;获取日期中的年月日,季度和周;对日期数据按照年、季度、月、周进行聚合的基本操作。

目录

一、日期格式转换to_datetime() 方法

1.to_datetime()参数说明

2.常用日期格式转换

二、获取日期数据中的年月日 星期数等 Series.dt() 方法

1.获取年月日

2.获取星期数

3.获取日期所在的季度 

4.判断日期是否月底,年底

 三、按时期显示数据 to_period()方法

1.按年统计显示数据

 2.按季度统计数据

3.按月统计数据

4.按周统计数据 

总结


1.to_datetime()参数说明

arg字符串、日期时间、字符串数组
errorsignore,raise,coerce, 默认为ignore,表示无效的解析将会返回原值
dayfirst第一个为天,默认为False, 例:02/09/2022
yearfirst第一个为年,默认为False,例:14/05/21  为2014年5月21日
utc默认值为None,返回utc,即协调世界时间
format格式化显示时间的格式,字符串,默认值为None
exact布尔值,默认为True,要求格式完全匹配
unit默认值为None,参数的单位表示时间的单位
infer_datetime_format默认值为False,如果没有格式,则尝试根据第一个日期时间字符串推断格式
origin默认值为unix,定义参考日期,数值将被解析为单位数
cache默认值为False,使用唯一,转换日期的缓存应用日期时间进行转换


2.常用日期格式转换

import pandas as pd
df=pd.DataFrame(data={'原日期':['20220630','20220505','2022-05-01','04/05/2022','2021.12.31']})
df['转换后日期']=pd.to_datetime(df['原日期'])
df

二、获取日期数据中的年月日 星期数等 Series.dt() 方法

1.获取年月日

df['year'],df['month'],df['day']=df['转换后日期'].dt.year,df['转换后日期'].dt.month,df['转换后日期'].dt.day
df

2.获取星期数

df['星期几']=df['转换后日期'].dt.day_name()
df

3.获取日期所在的季度 

df['季度']=df['转换后日期'].dt.quarter
df

4.判断日期是否月底,年底

df['是否月底']=df['转换后日期'].dt.is_month_end
df['是否年底']=df['转换后日期'].dt.is_year_end
df

 三、按时期显示数据 to_period()方法

1.按年统计显示数据

df3=pd.DataFrame({'日期':['20220630','20220505','2022-05-01','04/05/2022','2021.12.31'],
                 '数量':[215,35,45,31,32],
                 '单价':[1,6,8,6,5]})
df3['日期']=pd.to_datetime(df3['日期'])#转化日期
df3['金额']=df3['单价']*df3['数量']
df3=df3.set_index('日期')#设置日期为索引
df3.resample('as').sum().to_period('a')

 2.按季度统计数据

df3.resample('q').sum().to_period('q')

3.按月统计数据

df3.resample('m').sum().to_period('m')

4.按周统计数据 

df3.resample('w').sum().to_period('w').head()

 


总结


本文介绍了pandas日期数据处理的基础用法,包括to_datetime(),Series.dt()和to_period()的基本用法,筑牢基本的知识,万变不离其宗,方能沉着应对。

  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西瓜WiFi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值