简述python中pandas日期数据类型及数据可视化格式

本文介绍了如何在Pandas中处理和操作日期时间类型数据,包括从字符串到datetime对象的转换,日期差计算,以及使用各种函数提取日期的不同部分。同时涵盖了数据可视化的方法,如Matplotlib和Seaborn库的应用。
摘要由CSDN通过智能技术生成
Pandas日期时间类型
  • 导包

    from datetime import datetime # 原生python包内容

  • 获取当前时间

    t1 =datetime.now()

    输出:t1

  • 手动设置日期

    自定义变量名 =datetime(年,月,日)

​ 例如:t1 = datetime(2024,5,1)

  • 计算日期差

    简单讲:就是两个日期相减法,t2-t1

  • Pandas中将字符串日期转换为datetime类型

    方法1:to_datetime()实现

    方法2:自定义变量名.Timestamp(2024,5,1) # 时间戳

    方法3:自定义变量名.datetime(2024,5,1) #日期时间对象

    方法4:在读取文件时,加入 parse_dates=[需要转换的列名],就可以设置为日期列

  • pd.to_datetime 一列数据

  • pd.read_csv(parse_dates) =[列名/序号]加载时候直接进行转换

  • 可通过Pandas提供的API生成日期时间序列

    pd.date_range('起始时间','结束时间',freq=生成时间序列方式)

  • 在特征处理/数据处理 看见日期时间类型数据若需要当前就想了解这一列数据,可以做出很多列特征来展示

    • df['Date'].dt.year 年

    • df['Date'].dt.month 月

    • df['Date'].dt.day 日

    • df['Date'].dt.quarter 季度

    • df['Date'].dt.dayofweek 星期几

    • 若想快速对日期进行切片/范围选取操作,可将其转换成日期索引

    • between_time(include_start,include_end) 在两个时刻的范围内

    • at_time 在某个具体时刻

    • set_inde('列名',inplace=True) 将某列设置为行索引,若加载数据时没有设置,则可使用上述语法

    • index_col =‘某列’,表示将某列设置为行索引,一般应用于导入文件语法中

    • sort_index() 根据行索引进行排序,默认升序

    • resample() 重采样,可按照指定周期分组

      • W:表示按 周 分组

      • M:表示按 月 分组

      • Q: 表示按 季度 分组

      • 若对Datetimeindex类型进行切片操作,建议 先排序,再切片,效率更高

    • .plot (kind ='barh',title='标题') 其中barh:设置为水平柱状图,title:设置为标题

日期时间类型-获取日期中不同部分(示例获取年月日数据)
  • 获取日期时间类型 对象

    自定义变量名 = pd.to_datetime('2024-05-13')
    自定义变量名  # 查看是否为日期类
  • 获取年

    自定义变量名.year     # 年
    自定义变量名.month # 月
    自定义变量名.day  # 日
    time_stamp.dayofyear  # 年中的第几天
  • 获取某数据集年,月日

    # .dt 是把Series对象转成DatetimeProperties对象
    自定义变量名['year'] = 自定义变量名['Date'].dt.year
    自定义变量名['month'] = 自定义变量名['Date'].dt.month
    自定义变量名['day'] = 自定义变量名['Date'].dt.day
  • 查看信息

    自定义变量名.info()

日期时间索引

通过:自定义变量名.set_index('列名',inplace=Ture) 实现

生成日期时间序列
  • 格式

    pd.date_range('起始时间','结束时间',freq=生成时间序列的方式)
    # frequency:出现的频次
数据可视化
可视化概述
    • 数据可视化指可直观展现数据

    • 将数值绘制成图像,便于更加直观理解数据,纯看数据表过于费时

    • 有助于揭示数据中隐藏模式,在数据分析时,可利用浙西模式选择模型

可视化库
    • 基于Matplotlib绘制静态图形

      • pandas

      • seaborn

    • 基于JS(javaScript)

      • pyecharts/echarts

      • plotly

MatplotlibAPI

在Matplotlib中提供两种方式作图:状态接口、面向对象

  • 状态接口

    • 若录入中文是乱码,可使用以下代码进行纠正

      import matplotlib.pyplot as plt
      plt.rcParams['font.sans-serif'] = ['SimHei'] # 正常显示汉字
      plt.rcParams['axes.unicode_minus'] = False # 正常显示负号

      导入包状态接口 绘图

      import matplotlib.pyplot as plt

    • 准备x轴和y轴数据

      x = [自定义范围1,2,3]

      y=[自定义范围1,2,3]

    • 创建画布

      plt.figure(figsize =(15,6))

    • 绘图

      plt.plot(x,y)

      plt.grid(True) # 添加网格线

    • 设置x轴坐标 和y轴坐标范围

      plt.xlim(自定义范围1,2)

      plt.ylim(自定义范围1,2)

    • 设置x轴 和y轴标签

      ​ plt.xlabel('自定义x轴名称',size=自定义大小)

      plt.ylabel('自定义y轴名称',size=自定义大小)

    • 设置标题

      plt.title('自定义标题名',size=自定义大小)

    • 显示图例

      plt.show()

  • 面向对象

    • 导入包

      import matplotlib.pyplot as plt

    • 准备x轴和y轴数据

      x = [自定义范围1,2,3]

      y=[自定义范围1,2,3]

    • 创建画布,坐标轴对象

      fig,ax = plt.subplots(figsize = (自定义大小1,2))

    • 绘图,传入x轴,y轴

      ax.plot(x,y)

      ax.grid(True) # 添加网格线

    • 设置x轴坐标 和y轴坐标范围

      ax.set_xlim(自定义范围1,自定义范围2)

      ax.set_ylim(自定义范围1,自定义范围2)

    • 设置x轴 和y轴标签

      plt.set_xlabel('自定义x轴名称',size=自定义大小)

      plt.set_ylabel('自定义y轴名称',size=自定义大小)

    • 设置标题

      ax.set_title('自定义标题名',size=自定义大小)

    • 显示图例

      plt.show()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值