python 从CSV文件中读取数据并画日期折线图

2023-11-11

python 从CSV文件中读取数据并画日期折线图

代码环境:python 3.7 + PyCharm 2019.1.1

问题描述:

用pandas.read_csv读取文件中的数据后,希望以第一列(时间)为横轴,以第五列(数字数据)为纵轴画出日期折线图。画图工具包使用matplotlib

遇到的问题及解决方法:

  1. 数据转换

    DataFrame类型的数据不能直接作为matplotlib.pyplot.plot数据的参数,需要使用df.values转化

    此外,本例中画图只需要日期数据,故使用time.strptime(string, format).date()函数提取数据中的日期部分。

    用法说明:

    函数作用:根据指定的格式把一个时间字符串解析为时间元组
    参数:
        string -- 时间字符串。
        format -- 格式化字符串。
    返回值:struct_time对象
    子函数:date()保留日期部分
    		time()保留时间部分
    补充:python中的日期时间格式化符号
        %y 两位数的年份表示(00-99%Y 四位数的年份表示(000-9999%m 月份(01-12%d 月内中的一天(0-31%H 24小时制小时数(0-23%I 12小时制小时数(01-12%M 分钟数(00-59%S 秒(00-59%a 本地简化星期名称
        %A 本地完整星期名称
        %b 本地简化的月份名称
        %B 本地完整的月份名称
        %c 本地相应的日期表示和时间表示
        %j 年内的一天(001-366%p 本地A.M.或P.M.的等价符
        %U 一年中的星期数(00-53)星期天为星期的开始
        %w 星期(0-6),星期天为 0,星期一为 1,以此类推。
        %W 一年中的星期数(00-53)星期一为星期的开始
        %x 本地相应的日期表示
        %X 本地相应的时间表示
        %Z 当前时区的名称
        %% %号本身
    
  2. 画图

plt.plot画图
完整代码:

import matplotlib.pyplot as plt
from datetime import datetime
plt.rcParams['font.sans-serif'] = ['SimHei']        # 显示中文
plt.rcParams['axes.unicode_minus'] = False

def data_draw(data):
# 画图函数
    time = [datetime.strptime(d, '%Y/%m/%d %H:%M').date() for d in data.values[:, 0]]	# X轴数据
    plt.figure(1)
    plt.subplot(1, 1, 1)
    plt.plot(time, data.values[:, 4], 'ro-', color='r', alpha=0.8, linewidth=1)	# 数据的第五列作为Y轴数据
    plt.xlabel('日期')
    plt.ylabel('人数')
    
    plt.gcf().autofmt_xdate()  # 自动旋转日期标记
    plt.show()
    
if __name__ == '__main__':
    dataNews = pd.read_csv(datapath, encoding="utf_8_sig")
    data_draw(dataNews)

具体的函数参数就不写了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 从CSV文件中读取数据并画日期折线图 的相关文章

随机推荐

  • 优雅地断开TCP连接

    socket关闭 close 和shutdown 的差异 对于一个tcp连接 在c语言里一般有2种方法可以将其关闭 close sock fd 或者 shutdown sock fd 多数情况下这2个方法的效果没有区别 可以互换使用 除了
  • 【Tensorflow 入门】9、莫烦 Tensorflow 教程 15~22 节课笔记

    文章目录 十五 卷积神经网络 十六 Saver 保存读取 十七 RNN 十八 自编码 Autoencoder 十九 tf name scope tf variable scope 二十 批标准化 Batch Normalization 二十
  • 1805. 字符串中不同整数的数目

    给你一个字符串 word 该字符串由数字和小写英文字母组成 请你用空格替换每个不是数字的字符 例如 a123bc34d8ef34 将会变成 123 34 8 34 注意 剩下的这些整数为 相邻彼此至少有一个空格隔开 123 34 8 和 3
  • 什么是android原生系统版本,定制安卓和原生Android到底有哪些不同之处?彻底真相了...

    相信大家都知道最近在搞机圈有个大新闻 就是小米即将于8月份推出MIUI 9 近日小米MIUI市场副总监 黄龙中 就在微博上征求米粉意见 暗示MIUI 9可能长下面这样 小米最新官方主题 几何 浓浓flyme风 自2010年MIUI横空出世
  • JavaScript---必看的8个高频笔试题 覆盖JS大部分知识

    前言 通过这8道题 你将了解到JavaScript中的 变量的作用域提升即声明提前 函数也有作用域提升 ES6中的let和const不会造成变量的作用域提升 作用域和闭包 ES6中的箭头函数 JavaScript的核心 事件循环机制 事件循
  • html兼容性速查,HTML 5标签、属性、事件及兼容性速查表

    HTML 5 可以说是近十年来 Web 标准最巨大的飞跃 和以前的版本不同 HTML 5 并非仅仅用来表示 Web 内容 它的使命是将 Web 带入一个成熟的应用平台 在这个平台上 视频 音频 图象 动画 以及同电脑的交互都被标准化 尽管
  • Python显微外周血细胞图像增强颜色变换4种多层感知分类器

    显微外周血细胞图像数据 正常外周血数据集包含总共 17 092 个单个细胞的图像 这些图像是使用分析仪 CellaVision DM96 采集的 所有图像均在颜色空间 RGB 中获得 图像的格式和大小分别为 jpg 和 360 363 像素
  • 敏捷方法论的前世今生- 敏捷历史,敏捷宣言与敏捷12条原则

    敏捷方法论的前世今生 敏捷方法的历史 敏捷一词来源于2001年初美国犹他州雪鸟滑雪胜地的一次敏捷方法发起者和实践者 他们发起组成了敏捷联盟 的聚会 迭代和增量开发方法最早可以追溯到二十世纪三十年代非软件项目 二十世纪六十年代美国航天局水星计
  • vc中如何获取打开文件名

    在编制程序的过程中 很多时候我们需要从外部存储器中获取文件名 如果你知道文件路径 那很容易解决 但是不知道文件路径的话 怎么办呢 其实答案地球人都知道 那就是vc提供的 打开文件对话方块 怎么使用它呢 请看代码 include
  • JS实现Excel表格数据的导出

    方法一 js实现 Vue2 3都可以实现 首先需要2个JS文件 文章下方会给出 或者这俩个js搜一下应该都有的 页面2个按钮 data数据 JS如下 先点击模拟发送请求 再导出数据结果如下 实现多层结构导出 完整代码
  • docker常用应用部署

    docker相关的应用部署的总体步骤 步骤1 获取对应镜像 步骤2 生成容器 外部是不能直接访问容器数据的 但是可以通过容器跟主机间的端口映射来间接访问容器数据 所以必须要带上 p参数 格式为 p 主机 宿主 端口 容器端口 外部设备可以通
  • 傻白入门芯片设计,一颗芯片的诞生(九)

    CPU生产和制造似乎很神秘 技术含量很高 许多对电脑知识略知一二的朋友大多会知道CPU里面最重要的东西就是晶体管了 提高CPU的速度 最重要的一点说白了提高主频并塞入更多的晶体管 由于CPU实在太小 太精密 里面组成了数目相当多的晶体管 所
  • 邮件系统市场行情分析

    前言 随着网络信息化的不断发展 邮件系统也日益成为企业对外沟通交流的重要工具 成为了企业的刚需 随着邮件系统技术的不断完善与发展 企业对于邮件系统功能的也提出了更高的要求 市面上逐渐诞生了众多的品牌和厂家 不同的厂家在系统的功能特点以及售后
  • Zookeeper集群设置一键启动/一键停止脚本

    学习目标 设置一键启动 Zookeeper 脚本 设置一键停止 Zookeeper 脚本 设置一键启动 Zookeeper 脚本 进入目录 cd export servers zookeeper 3 4 5 cdh5 14 0 bin 编写
  • VUE3【学习三】:setup方法,三个插槽的使用及区别,父子组件传值

    一 setup是vue3新出的一个配置项 组件中的所有方法 数据等都可写在setup里面 并且比beforeCreate和created这两个生命周期还要早出现 这就出现一个问题 即里面this打印出来为undefine 找不到了 所以以后
  • C/C++:01. C过渡到C++

    文章目录 前言 1 C 和C的历史渊源 2 C 中的 class 和C中的 struct 3 C 命名空间 名字空间 详解 3 1 namespace 是C 中的关键字 用来定义一个命名空间 语法格式为 3 2 namespace 的使用规
  • 时序预测

    时序预测 Python实现CNN SVM卷积支持向量机时间序列预测 目录 时序预测 Python实现CNN SVM卷积支持向量机时间序列预测 基本描述 模型描述 程序设计 参考资料 基本描述 Python实现CNN SVM卷积支持向量机时间
  • React09——使用脚手架编程

    使用create react app创建react应用 react脚手架 xxx脚手架 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置 语法检查 jsx编译 devServer 下载好了所有相关的依赖 可以直接运行一
  • 求解:AttributeError: module ‘requests‘ has no attribute ‘args‘解决方法

    运行id request args get id 报错 解决办法 导入 from flask import request 我搜了一下 好多都没有解决办法 问题解决了的小伙伴动动发财的小手给点点赞吧
  • python 从CSV文件中读取数据并画日期折线图

    python 从CSV文件中读取数据并画日期折线图 代码环境 python 3 7 PyCharm 2019 1 1 问题描述 用pandas read csv读取文件中的数据后 希望以第一列 时间 为横轴 以第五列 数字数据 为纵轴画出日