[Python] Pandas 中 read_csv 与 read_hdf 速度对比

2023-05-16

1. read_csv() VS read_hdf()

一般情况下, 我们习惯使用 Pandas 中的 read_csv 函数来读取 CSV 文件, 但当 CSV 文件比较大时, read_csv 的速度会显得有点慢, 这时可以考虑使用 HDF5 格式来存储数据, 下面是两个函数所用时间的对比
在这里插入图片描述
在这里插入图片描述
通过对比可以发现, 随着文件大小的增加, read_hdf 的优势越来越大, 但是当文件小于 15MB 时, read_hdf 的速度开始慢于 read_csv, 而且文件越小差距越大, 所以结论是: 大于 15MB 的数据使用 HDF 格式存储, 而小于 15MB 的数据使用 CSV 格式.

2. 测试代码

下面是测试时用的代码

def test2(self):
    csv_path = './test.csv'
    hdf_path = './test.hdf'
    # 先存一份 HDF 文件
    df = pd.read_csv(path)
    df.to_hdf(hdf_path, 'df')
    # 读取 CSV 文件
    start1 = datetime.now()
    df1 = pd.read_csv(path)
    end1 = datetime.now()
    # 读取 HDF 文件
    start2 = datetime.now()
    df2 = pd.read_hdf(path2, 'df')
    end2 = datetime.now()

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

[Python] Pandas 中 read_csv 与 read_hdf 速度对比 的相关文章

  • 帮助需要在可选条件下编写正则表达式[关闭]

    我有一个日志文件包含如下内容 log Using data from yyyy mm dd 2011 8 3 0 files queued for scanning Warning E test H ndler pdf File not F
  • 将打开关闭的 Google Chrome 浏览器添加到 Selenium linkedin_scraper 代码中

    我正在尝试抓取一些知名人士的 LinkedIn 个人资料 该代码获取一堆 LinkedIn 个人资料 URL 然后使用Selenium and scrape linkedin收集信息并将其作为 json 文件保存到文件夹中 我遇到的问题是
  • 如何在 Django 管理中以表格格式显示添加模型?

    我刚刚开始使用 Django 编写我的第一个应用程序 为我的家庭设计的家务图表管理器 在本教程中 它向您展示了如何添加相关对象 http docs djangoproject com en dev intro tutorial02 cust
  • 引发 RuntimeError(f"目录 '{directory}' 不存在") RuntimeError: 导入 fitz 时目录 'static/' 不存在

    当我运行 extract img py 文件时出现此错误 RuntimeError f 目录 directory 不存在 运行时错误 导入 fitz 时不存在目录 static 我不明白为什么这会给我发回此错误消息 我之前看到过关于这个话题
  • 创建一个打开文件并创建字典的函数

    我有一个正在处理的文件 我想创建一个读取文件并将内容放入字典中的函数 然后该字典需要通过 main 函数传递 这是主程序 它无法改变 我所做的一切都必须与主程序配合 def main sunspot dict file str raw in
  • 在 Python 3 中动态导入模块的问题

    我遇到的情况是 在我的 Python 3 项目中 在运行时必须包含某些模块 我在用着importlib import module为了这 第二次更新 我确实找到了一种方法来做一些接近我想要的事情 一些额外的代码可能会使我的一些链接稍微偏离一
  • 有条件填写 pandas 数据框

    我有一个数据框df列中包含浮点值A 我想添加另一列B这样 B 0 A 0 for i gt 0 B i if np isnan A i then A i else Step3 B i if abs B i 1 A i B i 1 lt 0
  • 使用opencv计算深度视差图

    我无法使用 opencv 从视差图计算深度 我知道两个立体图像中的距离是用以下公式计算的z baseline focal disparity p 但我不知道如何使用地图计算视差 我使用的代码如下 为我提供了两个图像的视差图 import n
  • 使用字母而不是数字进行顺序计数[重复]

    这个问题在这里已经有答案了 我需要一种方法 将字符串 递增 到 z 然后将 aa 递增到 az 然后将 ba 递增到 bz 依此类推 就像 Excel 工作表中的列一样 我将向该方法提供前一个字符串 它应该增加到下一个字母 PSEUDO C
  • 可移植的非关系数据库

    我想尝试 尝试非关系数据库 最好的解决方案是 便携式 这意味着它不需要安装 理想情况下 只需将目录复制粘贴到某个地方即可使其工作 我不介意第一次使用时是否需要编辑一些配置文件或运行配置工具 可从 python 访问 适用于 Windows
  • InvalidArgumentException:消息:无效参数:“using”必须是字符串

    我对 python 很陌生 试图创建可重用的代码 当我尝试通过传递 Login 类下使用的所有参数来调用 test main py 中的 Login 类和函数 login user 时 我收到错误 InvalidArgumentExcept
  • 如何使用 msgpack 进行读写?

    如何序列化 反序列化字典data with msgpack http msgpack org The Python 文档 http msgpack python readthedocs io en latest badge latest似乎
  • 如何在matplotlib中基于x轴更改直方图颜色

    我有根据 pandas 数据框计算出的直方图 我想根据 x 轴值更改颜色 例如 If the value is 0 the color should be green If the value is gt 0 the color shoul
  • 在Python中计算结构体的CRC

    我有以下结构 来自 C 中的 NRPE 守护程序代码 typedef struct packet struct int16 t packet version int16 t packet type uint32 t crc32 value
  • x11 - 导入错误:没有名为“kivy.core.window.window_x11”的模块

    目前我正在尝试构建一个我通过 buildozer 用 Python 和 Kivy 编写的应用程序 无论我在做什么 我都会遇到 window x11 的问题 即使我在代码中注释掉所有与 Windows 相关的内容或执行本文中描述的所有操作 这
  • 如何使用数据库在 Django 中的应用程序之间交换数据?

    我正在使用 Django 在网络上工作 我创建了 2 个应用程序 第一个用于客户端注册并将其数据添加到数据库 第二个应用程序供用户访问和查看交互界面 这个想法是使用第二个应用程序从数据库中的客户端获取数据 并使用它向用户显示一些信息 我的问
  • 对数据框的行进行排序

    我有以下数据框 adjusted RFC df Node Feature Indicator Scaled Class Direction True False 0 0 km lt 0 181 class 4 0 gt 1 NA 125 1
  • 从 C 线程调用 Python 代码

    我对从 C 或 C 线程调用 Python 代码时如何确保线程安全感到非常困惑 The Python 文档 http docs python org c api init html non python created threads似乎是
  • Jinja2中获取请求参数

    如何检索请求参数a在 Jinja2 模板中 http foo bar a 1 我这个答案有点晚了 但其他解决方案并没有真正考虑到您对 Flask 的使用 事实上 您将 Flask 与 Jinja2 一起使用 这使得您的情况与其他框架有点不同
  • 使 matplotlib 图形默认看起来像 R?

    Is there a way to make matplotlib behave identically to R or almost like R in terms of plotting defaults For example R t

随机推荐

  • 在IIS中发布NetCore程序

    需安装的软件 xff0c 如下图所示 软件下载地址 xff1a https dotnet microsoft com en us download dotnet 注意 xff1a 发布的程序版本必须和本地安装的一致 xff0c 否则会报错
  • PotPlayer优化与最高画质设置(最强本地播放器)

    一 前言 软件 xff1a PotPlayer 描述 xff1a 被誉为本地视频最好用的播放器 xff01 PotPlayer下载地址参考 xff1a https potplayer org 推荐Potplayer论坛 xff1a http
  • 基于51单片机定时器计数+74HC595移位寄存器+8位数码管时钟

    基于51单片机 74HC595移位寄存器 8位数码管时钟 Proteus仿真 实例代码 span class token macro property span class token directive hash span span cl
  • 51单片机外部中断使用示例程序

    51单片机外部中断使用示例程序 本实例来源以STC89演示示例 xff0c 为了方便初学者更好的阅读 xff0c 直接将其贴出来 首先分享一份 STC单片机资源一览表 你也可以从https www stcisp com 下载到 xff0c
  • 使用kubeadm部署kubernetes集群

    一 安装环境准备 1 安装环境 xff1a centos7 5 xff0c 一个master节点 xff0c 两个node节点 CentOS Linux release 7 5 1804 Core 2 设置 etc hosts文件的IP和主
  • 【Proteus仿真】51单片机自定义倒计时

    Proteus仿真 51单片机自定义倒计时 Proteus仿真 类似一个时间闹铃的一个功能 只不过这是只是一个用来倒计时的 程序源码 span class token comment 实验说明 实验接线 1 动态数码管模块 gt 单片机管脚
  • 微信小程序云开发之数据库操作

    一 初始化 xff1a 在做数据的操作 xff08 增删改查 xff09 之前 xff0c 先要获取数据库的对象 xff0c 可以通过wx cloud database函数来获取到 xff0c 这个函数默认会使用wx cloud init方
  • QT中QTablewidget表格常用操作

    QTabwidget常用操作 0 QTableWidget初始化示例1 列设置 xff08 表头 xff09 1 1 添加表头1 2 设置表头样式 xff08 颜色和字体 xff09 1 3 设置表头宽度1 4 自适应表头宽度1 5 设置表
  • qt获取天气代码

    qt显示天气信息 1 发送网络请求获取天气数据1 1 需要包含的头文件1 2 创建QNetworkAccessManager对象1 3 发送请求1 4 获取数据并解析 2 天气JSON格式数据3 demo代码4 最终效果 1 发送网络请求获
  • qt弹窗界面模态设置

    1 模态说明 模态 xff1a 启动模态界面时 xff0c 例如弹出对话框强制用户从其他正在进行的业务中聚焦到当前对话框 xff0c 除了该对话框整个应用程序窗口都无法接受用户响应 xff0c 无法切换界面 xff0c 无法切换当前Qt应用
  • QTabWidget常用样式设置

    1 前言 个人使用qt xff0c 感觉QTabwidget是个非常好用的控件 xff0c 但有时候总是感觉其tab样式不好控制或说不够灵活 xff0c 从而导致放弃使用该控件 比如说 xff0c 标签横向显示的时候 xff0c 文字随之也
  • qt环形进度条控件设计

    上效果 推荐文章 xff1a qt电池控件设计 xff1a https blog csdn net weixin 42887343 article details 113932145QWidget控件拖动 xff1a https blog
  • GPL协议认识

    图片链接 xff1a https www runoob com w3cnote open source license html GPL协议 1 GPL GNU General Public License xff0c GNU通用公共许可协
  • C++中的Lambda函数

    Lambda函数也叫匿名函数 xff0c 是自定义函数的一种 专指用关键字 lambda 定义的无名短函数 xff0c 所以也有Lambda表达式这种说法 这种函数得名于省略了用def声明函数的标准步骤 xff0c 是C 43 43 11中
  • go语言判断文件是否为UTF8编码

    一 思路 xff1a 1 UTF8编码规则 xff1a 对于单字节字符 xff0c 8个比特位最高位为0 对于多字节字符 xff0c 若字符由n个字节组成 xff0c 则第一个字节8个比特中最高n位都是1 xff0c 剩下n 1字节中最高位
  • qtcreator调试经常断点导致卡死问题解决

    一 问题描述 在qt开发中 xff0c 使用debuging进行调试 xff08 点击下面按钮 xff09 总会出现 xff0c 软件运行还好 xff0c 就是运行到断点的时候 xff0c 软件一直在等待卡死 在windows上面没有遇到过
  • python+opencv读取摄像头并显示

    解释看注释 xff0c 直接上代码 xff01 span class token keyword import span cv2 span class token comment 打开本地摄像头 span cap span class to
  • python+opencv拉流(串流)

    解释看注释 xff0c 直接上代码 xff01 span class token keyword import span cv2 span class token comment 流链接 span url span class token
  • python+opencv做一个视频录制器(mp4)

    1 功能说明 代码的功能就是读取摄像头视频显示 xff0c 并同时保存为mp4文件 xff0c 示例代码为1小时保存一个视频 2 代码 解释看注释 xff0c 直接上代码 xff01 span class token keyword imp
  • [Python] Pandas 中 read_csv 与 read_hdf 速度对比

    1 read csv VS read hdf 一般情况下 我们习惯使用 Pandas 中的 read csv 函数来读取 CSV 文件 但当 CSV 文件比较大时 read csv 的速度会显得有点慢 这时可以考虑使用 HDF5 格式来存储