• Pandas之datetime数据基础详解。


    一、日期和时间数据类型

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

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

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

    #导入datetime模块
    import datetime
    #创建日期类型数据
    date = datetime.date(2022,11,8)
    #获取年
    print(date.year)
    #获取月
    date.month
    #获取日
    date.day
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

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

    #导入datetime模块
    import datetime
    #创建时间数据类型
    time = datetime.time(16,31,30)
    #获取时间
    print(time)
    #获取小时
    time.hour
    #获取分钟
    time.minute
    #获取秒
    time.second
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    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)#获取时分秒与年月日类似,不在此一一展示
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    📔获取当前时间

    #导入datetime模块
    import datetime
    #获取当前时间
    datetime.datetime.now()
    print(datetime,datetime.now())
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.datetime与字符串

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

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

    🔔使用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))#类型也是
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

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

    在这里插入图片描述

    二、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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

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

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

    在这里插入图片描述

    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')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    ps:参考开课吧。

  • 相关阅读:
    【深蓝学院】移动机器人运动规划--第5章 最优轨迹生成--作业
    2022年全球市场防火水泥总体规模、主要生产商、主要地区、产品和应用细分研究报告
    深入解析kubernetes中的选举机制
    Unity-Mathf类
    数据分析 — Pandas 数据加载、存储和清洗
    Tang Capital宣布收购纳斯达克上市公司Rain Oncology100%股权
    Java的学习路线(非常完整)
    ELK高级搜索,深度详解ElasticStack技术栈-上篇
    ZooKeeper的Linux端安装步骤(内含Java的Linux端安装)
    按照模板导出复杂样式的excel
  • 原文地址:https://blog.csdn.net/weixin_63003502/article/details/127753373