Pandas之datetime数据基础详解。

一、日期和时间数据类型

🔥工作中难免会处理一些和时间打交道的数据,所以好好看看这篇文章吧!🔥

1.利用datetime模块构建时间和日期数据

📃date类型的使用:(年月日)

#导入datetime模块
import datetime
#创建日期类型数据
date = datetime.date(2022,11,8)
#获取年
print(date.year)
#获取月
date.month
#获取日
date.day

🍰time类型的使用:(时分秒)

#导入datetime模块
import datetime
#创建时间数据类型
time = datetime.time(16,31,30)
#获取时间
print(time)
#获取小时
time.hour
#获取分钟
time.minute
#获取秒
time.second

2.日期和时间的结合体(datetime类型数据)

📒datetime类型的使用:(年月日时分秒)

#导入datetime模块
import datetime
#创建日期和时间结合体数据类型
datetime =datetime.datetime(2022,11,8,16,38,30)
#获取日期和时间结合体
datetimne #这个会连带数据类型输出
print(datetime)#两个获取输出格式不同
#获取年
print(datetime.year)
#获取月
print(datetime.month)
#获取日
print(datetime.day)#获取时分秒与年月日类似,不在此一一展示

📔获取当前时间

#导入datetime模块
import datetime
#获取当前时间
datetime.datetime.now()
print(datetime,datetime.now())

3.datetime与字符串

📢使用强制类型转换为字符串:

#导入datetime模块
import datetime
#创建日期和时间
datetime =datetime.datetime(2022,11,8,16,38,30)
#查看datetime的类型
print(type(datetime)) #输出类型为<class 'datetime.datetime'>
#使用强制类型转换为字符串类型
str_datetime = str(datetime)
print(str_datetime)
print(type(str_datetime)) #输出显示为 <class 'str'>,但是字符串样式不能改变

🔔使用strftime函数转换为指定样式字符串:

#导入datetime模块
import datetime
#创建日期和时间
datetime =datetime.datetime(2022,11,8,16,38,30)
#使用strftime转换指定格式字符串
new_datetime=datetime.strftime('%d/%m/%y %H:%M')#填入相应的占位符
new_datetime
print(type(new_datetime))#类型也是<calss 'str'>

在这里插入图片描述
💖使用strptime将字符串转换为datetime类型:

#导入datetime模块
import datetime
datetime = datetime.datetime.strptime('Mar-17-22 19:33','%b-%d-%y %H:%M')
print(datetime)
print(type(datetime))

在这里插入图片描述

二、pandas时间序列基础

处理和时间打交道的数据我们不妨先把他们设置为以时间序列为索引的数据,先利用时间筛选出我们想要的数据

1.使用date_range函数创建日期范围

😜date_range函数参数含义:

date_range():
 start:日期范围的开始
 end:日期范围的结束
 periods:固定日期的个数
 freq:日期的便宜了,类型为string,默认值为‘D’,意思为一天为日期的偏移量

#用到了pandas
import pandas as pd 
#date_rang快速创建日期范围
date =pd.date_range(start='20220312',end='20220331')#使用了start和end两个参数
date

在这里插入图片描述

#使用start、end、freq三个参数,频率为10天
date2= pd.date_range(start='20220317',end='20220606',freq='10D')
date2

在这里插入图片描述

#使用start、end、periods三个参数,频率为默认1天
date3= pd.date_range(start='20220317',periods=10,freq='D')
date3

在这里插入图片描述

2.在数据种索引和切片时间序数据

#将时间设置为数据的索引值
import pandas as pd
import numpy  as np
#生成365个时间序列
time_index = pd.date_range('2022-01-01',periods=365)
#创建365个随机数序列
time_data = np.random.randint(100,size=365)
#创建以时间为索引的Series
date_time = pd.Series(data=time_data,index=time_index)
date_time

在这里插入图片描述
📌根据时间进行索引:

#根据年份进行索引
date_time['2022'] #会显示2022年所有数据
#根据年和月进行索引取值
date_time['2022-04']#会显示2022年4月全部数据
#根据一个时间范围(时间戳)进行切片取值
date_time['2022-03-17':'2022-03-30'] #这个如下图所示

在这里插入图片描述

3.to_datetime将字符串类型的日期转换成时间类型的日期

🔓to_datetime参数含义:

pd.to_datetime(arg,format=None)
arg:需要修改的数据
format:数据格式

#将字符串类型的时间转换成时间戳类型 Timestamp
import pandas as pd
data= '2022-03-17'
date1 = pd.to_datetime(data)
date1 #输出:Timestamp('2022-03-17 00:00:00')
#时间戳转为datetime类型 用 to_pydatetime()
date2 = date1.to_pydatetime()
date2  #输出:datetime.datetime(2022, 3, 17, 0, 0)
#2022年11月8日,如何转换,利用 format参数
date3 =pd.to_datetime('2022年11月8日',format='%Y年%m月%d日')
date3  #输出:Timestamp('2022-11-08 00:00:00')

ps:参考开课吧。

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱康代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值