Pandas对时间序列的处理date_range()

import pandas as pd

Python标准库datetime模块日期和时间数据类型

date_range()

使用date_range()方法可以快速创建出一个日期范围

pd.date_range(start=None, end=None, periods=None, freq="D")
  • start: 日期范围的开始
  • end : 日期范围的结束
  • periods : 固定日期的个数
  • freq : 日期的偏移量(生成的日期之间的偏差), 取值为String, 默认为"D",即 一天为日期的偏移量

例: 利用 start和end以及默认的freq创建

date = pd.date_range(start='20210305', end='20210309')
print(date)
DatetimeIndex(['2021-03-05', '2021-03-06', '2021-03-07', '2021-03-08',
               '2021-03-09'],
              dtype='datetime64[ns]', freq='D')

Process finished with exit code 0

例2: 使用start和end以及频率参数freq为5天创建

date = pd.date_range(start='20210305', end='20210409', freq="5D")
print(date)
DatetimeIndex(['2021-03-05', '2021-03-10', '2021-03-15', '2021-03-20',
               '2021-03-25', '2021-03-30', '2021-04-04', '2021-04-09'],
              dtype='datetime64[ns]', freq='5D')

Process finished with exit code 0

例3: 使用start和periods以及默认的频率参数创建5个数据

date = pd.date_range(start='20210305', periods=5, freq="D")
print(date)
DatetimeIndex(['2021-03-05', '2021-03-06', '2021-03-07', '2021-03-08',
               '2021-03-09'],
              dtype='datetime64[ns]', freq='D')

Process finished with exit code 0

时间频率的缩写

在这里插入图片描述

创建以时间序列为索引的Series数据

import pandas as pd
import numpy as np
# 创建365个时间序列作为索引
time_index = pd.date_range('2021-01-01', periods=365)
# 创建365个随机数作为Series数据的值
time_data = np.random.randint(100,size=365)
date_time_series = pd.Series(data=time_data,index=time_index)
print(date_time_series )

根据时间序列索引获取数据

根据年份进行索引

date_time_series['2021']  # 会取出日期在2021年的全部数据

根据年和月进行索引

date_time_series['2021-10']  # 取出2021年10月份的全部数据

使用时间进行切片获取数据

date_time['2021-03-05':'2021-03-10'] # 取出2021年3月5号到10号的数据

to_datetime()

有的时候用csv导入到时间数据时,默认的是字符串的数据类型 ,当可视化的时候,会出现没有按时间先后顺序的方式绘图 ,所以需要将字符串解析为时间类型的数据类型

使用Pandas的to_datetime()方法可以将字符串形式的日期转换成时间格式

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

  • format : 数据的格式

  • to_datetime()方法会将字符串类型的是时间转换成Timestamp(‘2021-03-05 00:00:00’)时间戳类型

  • 例:

  • pd.to_datetime('2021-03-05')
    
  • 想对时间格式修改,还可以使用to_pydatetime()方法将Timestamp类型转换成datetime类型

  • pd.to_datetime('2021-03-05').to_pydatetime()
    
  • 包含中文的:

  • pd.to_datetime('2021年03月05日',format='%Y年%m月%d日')
    
  • 在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值