Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range

文章目录

  • 参数说明
  • 通过将多种形式的日期转换成标准形式
  • 整合多列中的信息组成一个日期
  • 日期对象的使用
    • 数据导入
    • 将“原日期” 的类型转为 datetime 类型
    • 调用 Series 中的 dt 对象来获取各种信息
    • 获取特定日期 / 日期区间数据
    • 按照不同的时期进行数据统计
    • 按照时期显示数据
    • 按照时期统计 & 显示
  • 时间序列 date_range
    • 时间序列的降采样和升采样
      • 降采样
      • 升采样
    • 时间序列数据汇总
    • 移动窗口数据计算

参数说明

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第1张图片

通过将多种形式的日期转换成标准形式

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第2张图片

整合多列中的信息组成一个日期

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第3张图片
Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第4张图片

  • 注意,使用这种方式组合多个列中的时间信息的时候,列的名称分别必须是:
    • year,
    • month
    • day
    • hour
    • minute
    • second

日期对象的使用

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第5张图片

数据导入

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第6张图片

将“原日期” 的类型转为 datetime 类型

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第7张图片

调用 Series 中的 dt 对象来获取各种信息

  • 年: series.dt.year
  • 月: series.dt.month
  • 日: series.dt.day
  • 星期几: series.dt.day_name()
  • 当前日期的季度: series.dt.quarter
  • 是否是年底: series.dt.is_year_end
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第8张图片

获取特定日期 / 日期区间数据

  • 将时间列放到数据最前面的一列(非必须)
  • 按照时间列进行排序(非必须)
  • 首先将时间列作为索引
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第9张图片
  • 可以直接按照年份索引
  • 可以直接按照年份+月份索引
  • 可以直接按照日期索引
  • 可以索引日期的区间

按照不同的时期进行数据统计

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第10张图片

  • 将日期列作为索引
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第11张图片
  • 按照年进行统计求和
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第12张图片
  • 按照季度统计求和
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第13张图片
  • 按照月统计
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第14张图片
  • 按星期统计
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第15张图片
  • 按照天统计
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第16张图片

按照时期显示数据

  • 只 按照年份显示数据;这里使用的是 A 而不是 AS
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第17张图片
  • 按照季度显示数据
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第18张图片
  • 按照月显示数据
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第19张图片
  • 按照星期显示
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第20张图片

按照时期统计 & 显示

  • 按照年

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第21张图片

  • 按照季度
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第22张图片
  • 按照月
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第23张图片
  • 按照星期
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第24张图片

时间序列 date_range

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第25张图片

  • 从 2021-01-01 开始每隔一天产生一个日期
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第26张图片

  • 每隔一个月产生一个日期
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第27张图片

时间序列的降采样和升采样

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第28张图片
Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第29张图片

降采样

  • 将原本 1 分钟的时间频率降低到 3 分钟每次,这样操作频率降低了,因此,需要将指定数据聚合的方式,下面的例子中使用的是 sum 方式
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第30张图片
  • 在下面的例子中,原本的数据是每天,现在通过 resample 降采样成每个周采样一次Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第31张图片
  • 下面的例子又降采样成月
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第32张图片

升采样

  • 升采样过程中如果没有数据就用NAN 来代替

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第33张图片

  • 可以按照缺失值填补的方式:ffill 和 bfill 来填补
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第34张图片

时间序列数据汇总

Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第35张图片- 使用 ohlc 函数;每次统计一定量的数据,然后统计出这些数据中的 open high low close 数据
Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第36张图片

移动窗口数据计算

  • windows 是窗口大小
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第37张图片
    Python 数据分析之:pandas 中的日期相关数据处理:to_datetime() 完成日期的转换和生成;日期数据处理(获取年月日、判断是否为闰年);使用日期对象;date_range_第38张图片

你可能感兴趣的:(Python数据分析与挖掘,python,pandas,数据分析)