当前位置: 首页 > news >正文

广州免费自助建站开发友情链接的形式

广州免费自助建站开发,友情链接的形式,建设银行企业版网站,广州推广型网站建设前言 本文对pandas支持的一些数据格式进行IO(读写)的性能测试,大数据时代以数据为基础,经常会遇到操作大量数据的情景,数据的IO性能尤为重要,本文对常见的数据格式csv、feather、hdf5、jay、parquet、pick…

前言

本文对pandas支持的一些数据格式进行IO(读写)的性能测试,大数据时代以数据为基础,经常会遇到操作大量数据的情景,数据的IO性能尤为重要,本文对常见的数据格式csv、feather、hdf5、jay、parquet、pickle性能进行对比。

csv

CSV(Comma-Separated Values)是一种用于存储表格数据的简单文件格式。在 CSV 文件中,每一行通常代表一条记录,字段(列)由逗号分隔。尽管可以使用其他分隔符(如制表符、分号等),逗号是最常见的分隔符。

import time
import pandas as pdtemplates_path = r'./data.hdf5'
df = pd.read_hdf(templates_path, 'table')t0 = time.time()
df.to_csv("data.csv")
print('csv写时间 ', time.time()-t0)
t1 = time.time()
df2 = pd.read_csv("data.csv")
print('csv读时间 ', time.time()-t1)

测试632MB的hdf5运行结果:
csv写时间 9.340209722518921
csv读时间 5.414996147155762

feather

Feather 是一种高效的列式存储格式,专门用于快速读写数据框(DataFrame)。它是由 Apache Arrow 项目开发的,旨在提高数据处理的速度和效率,特别是在大型数据集的情况下。

import time
import pandas as pdtemplates_path = r'./data.hdf5'
df = pd.read_hdf(templates_path, 'table')t0 = time.time()
df.to_feather("data.feather")
print('feather写时间 ', time.time()-t0)
t1 = time.time()
df2 = pd.read_feather("data.feather")
print('feather读时间 ', time.time()-t1)

测试632MB的hdf5运行结果:
feather写时间 1.2748804092407227
feather读时间 5.084072828292847

hdf5

HDF5(Hierarchical Data Format version 5)是一种用于存储和管理大型、复杂的数据集合的文件格式。

import time
import pandas as pdtemplates_path = r'./data.hdf5'
df = pd.read_hdf(templates_path, 'table')t0 = time.time()
df.to_hdf("data.hdf5", 'table')
print('hdf写时间 ', time.time()-t0)
t1 = time.time()
df2 = pd.read_hdf("data.hdf5", 'table')
print('hdf读时间 ', time.time()-t1)

测试632MB的hdf5运行结果:
hdf写时间 4.227152109146118
hdf读时间 1.985311508178711

jay

Jay 格式(通常称为 Jay Data)是一种具有可扩展性的数据交换格式,主要用于存储和传输数据。

import time
import pandas as pd
import datatable as dt
templates_path = r'./data.hdf5'
df = pd.read_hdf(templates_path, 'table')t0 = time.time()
dt.Frame(df).to_jay("data.jay")
print('jay写时间 ', time.time()-t0)
t1 = time.time()
data_jay = dt.fread("data.jay")
print('jay读时间 ', time.time()-t1)

测试632MB的hdf5运行结果:
jay写时间 1.4829316139221191
jay读时间 0.0009965896606445312

parquet

Parquet 是一种列式存储文件格式,主要用于数据处理和分析场景。它是 Apache Hadoop 生态系统中的一个重要组成部分,设计用来支持高效的数据存储和检索。

import time
import pandas as pdtemplates_path = r'./data.hdf5'
df = pd.read_hdf(templates_path, 'table')t0 = time.time()
df.to_parquet("data.parquet")
print('parquet写时间 ', time.time()-t0)
t1 = time.time()
df2 = pd.read_parquet("data.parquet")
print('parquet读时间 ', time.time()-t1)

测试632MB的hdf5运行结果:
parquet写时间 1.8439412117004395
parquet读时间 5.116466522216797

pickle

pickle 是 Python 的标准库之一,用于序列化(将 Python 对象转换为字节流)和反序列化(将字节流转换回 Python 对象)。

import time
import pandas as pdtemplates_path = r'./data.hdf5'
df = pd.read_hdf(templates_path, 'table')t0 = time.time()
df.to_pickle("data.pickle")
print('pickle写时间 ', time.time()-t0)
t1 = time.time()
df2 = pd.read_pickle("data.pickle")
print('pickle读时间 ', time.time()-t1)

测试632MB的hdf5运行结果:
pickle写时间 3.7283213138580322
pickle读时间 1.2415409088134766

测试结果汇总

格式csvfeatherhdf5jayparquetpickle
632M写9.341.274.221.481.843.72
632M读5.415.081.980.00095.111.24
3.6G写40.587.45*10.059.224.02
3.6G读34.434.43*0.0019 (5.44**)4.823.33
3.6Ghdf5占用空间3.65G0.97G3.6G3.75G1.01G3.05G
  • *数据中包含Long格式数据,无法保存,未能完成测试
  • **数据需要经过处理才能达到原始数据格式,加上处理耗时

总结

本测试基于python语言,对于其他语言可能不适用。

  • 对储存空间要求较高,推荐使用 feather
  • 对读写速度要求较高,推荐使用 pickle
http://www.hkea.cn/news/853340/

相关文章:

  • 做网站基本语言淘宝如何提升关键词排名
  • wordpress怎样分类目录添加标签seo文章范文
  • 订阅号可以做网站吗南宁seo外包服务商
  • 邢台哪儿做网站便宜宁波 seo排名公司
  • 深圳网站优化咨询网上广告怎么推广
  • 网站右击无效是怎么做的网络营销产品
  • 中宣部网站政治建设网站服务器是什么意思
  • 淮安网站定制徐州seo外包公司
  • 嘉兴类网站系统总部网站建设技术解决方案
  • 做网站的教科书外包网络推广公司推广网站
  • 模板名字 wordpress优化大师如何删掉多余的学生
  • 3d网站建设制作百度关键词优化手段
  • 新手做那些网站比较好东莞企业网站排名
  • 欧美风格网站360指数
  • 优秀网站建设公司电话下列哪些店铺适合交换友情链接
  • 58同城乌鲁木齐网站建设重庆网站到首页排名
  • wordpress知言主题山东服务好的seo公司
  • 旅游商务平台网站建设功能需求关键词排名查询官网
  • 做网站要搭建本地服务器么微商引流被加方法精准客源
  • 网站名字要备案吗友情链接怎么弄
  • 江苏网站开发外链网站大全
  • 网站代备案流程图百度关键词优化排名技巧
  • 石狮建设局网站今日头条站长平台
  • 修改公司网站网页站长素材音效
  • 网站速度测速免费访问国外网站的app
  • 常州网站搭建公司宣传推广渠道有哪些
  • 中国建设监理网站广告网络
  • 网站维护费用怎么收路由优化大师官网
  • 如何加入小说网站做打字员合肥网站优化推广方案
  • 网站建设现状关键词在线优化