首页
学习
活动
专区
圈层
工具
发布

在pandas中利用hdf5高效存储数据

(不在当前工作目录时需要带上完整路径信息) 「mode」:用于指定IO操作的模式,与Python内建的open()中的参数一致,默认为'a',即当指定文件已存在时不影响原有数据写入,指定文件不存在时则新建文件...」:指定h5文件中待写入数据的key 「value」:指定与key对应的待写入的数据 「format」:字符型输入,用于指定写出的模式,'fixed'对应的模式速度快,但是不支持追加也不支持检索;'table...'对应的模式以表格的模式写出,速度稍慢,但是支持直接通过store对象进行追加和表格查询操作 ❞ 使用put()方法将数据存入store对象中: store.put(key='s', value=s);...图10 2.3 性能测试 接下来我们来测试一下对于存储同样数据的csv格式文件、h5格式的文件,在读取速度上的差异情况: 这里我们首先创建一个非常大的数据框,由一亿行x5列浮点类型的标准正态分布随机数组成...图12 csv比HDF5多占用将近一倍的空间,这还是在我们没有开启HDF5压缩的情况下,接下来我们关闭所有IO连接,运行下面的代码来比较对上述两个文件中数据还原到数据框上两者用时差异: import pandas

6.2K20

在pandas中利用hdf5高效存储数据

(不在当前工作目录时需要带上完整路径信息) 「mode」:用于指定IO操作的模式,与Python内建的open()中的参数一致,默认为'a',即当指定文件已存在时不影响原有数据写入,指定文件不存在时则新建文件...」:指定与key对应的待写入的数据 「format」:字符型输入,用于指定写出的模式,'fixed'对应的模式速度快,但是不支持追加也不支持检索;'table'对应的模式以表格的模式写出,速度稍慢,但是支持直接通过...还可以从pandas中的数据结构直接导出到本地h5文件中: #创建新的数据框 df_ = pd.DataFrame(np.random.randn(5,5)) #导出到已存在的h5文件中,这里需要指定key...csv格式文件、h5格式的文件,在读取速度上的差异情况: 这里我们首先创建一个非常大的数据框,由一亿行x5列浮点类型的标准正态分布随机数组成,接着分别用pandas中写出HDF5和csv格式文件的方式持久化存储...,HDF5比常规的csv快了将近50倍,而且两者存储后的文件大小也存在很大差异: 图12 csv比HDF5多占用将近一倍的空间,这还是在我们没有开启HDF5压缩的情况下,接下来我们关闭所有IO连接,运行下面的代码来比较对上述两个文件中数据还原到数据框上两者用时差异

3.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    (数据科学学习手札63)利用pandas读写HDF5文件

    )   mode:用于指定IO操作的模式,与Python内建的open()中的参数一致,默认为'a',即当指定文件已存在时不影响原有数据写入,指定文件不存在时则新建文件;'r',只读模式;'w',创建新文件...:   key:指定h5文件中待写入数据的key   value:指定与key对应的待写入的数据   format:字符型输入,用于指定写出的模式,'fixed'对应的模式速度快,但是不支持追加也不支持检索...除了通过定义一个确切的store对象的方式,还可以从pandas中的数据结构直接导出到本地h5文件中: #创建新的数据框 df_ = pd.DataFrame(np.random.randn(5,5))...2.3 速度比较   这一小节我们来测试一下对于存储同样数据的csv格式文件、h5格式的文件,在读取速度上的差异情况:   这里我们首先创建一个非常大的数据框,由一亿行x5列浮点类型的标准正态分布随机数组成...csv比HDF5多占用将近一倍的空间,这还是在我们没有开启HDF5压缩的情况下,接下来我们关闭所有IO连接,运行下面的代码来比较对上述两个文件中数据还原到数据框上两者用时差异: import pandas

    2.4K30

    (数据科学学习手札63)利用pandas读写HDF5文件

    )   mode:用于指定IO操作的模式,与Python内建的open()中的参数一致,默认为'a',即当指定文件已存在时不影响原有数据写入,指定文件不存在时则新建文件;'r',只读模式;'w',创建新文件...文件中待写入数据的key   value:指定与key对应的待写入的数据   format:字符型输入,用于指定写出的模式,'fixed'对应的模式速度快,但是不支持追加也不支持检索;'table'对应的模式以表格的模式写出...  这时本地的h5文件也相应的存储进store对象关闭前包含的文件:   除了通过定义一个确切的store对象的方式,还可以从pandas中的数据结构直接导出到本地h5文件中: #创建新的数据框...  这一小节我们来测试一下对于存储同样数据的csv格式文件、h5格式的文件,在读取速度上的差异情况:   这里我们首先创建一个非常大的数据框,由一亿行x5列浮点类型的标准正态分布随机数组成,接着分别用...,HDF5比常规的csv快了将近50倍,而且两者存储后的文件大小也存在很大差异:   csv比HDF5多占用将近一倍的空间,这还是在我们没有开启HDF5压缩的情况下,接下来我们关闭所有IO连接,运行下面的代码来比较对上述两个文件中数据还原到数据框上两者用时差异

    1.5K00

    【Mark一下】46个常用 Pandas 方法速查表

    你可以粗略浏览本文,了解Pandas的常用功能;也可以保存下来,作为以后数据处理工作时的速查手册,没准哪天就会用上呢~ 1创建数据对象 Pandas最常用的数据对象是数据框(DataFrame)和Series...数据框与R中的DataFrame格式类似,都是一个二维数组。Series则是一个一维数组,类似于列表。数据框是Pandas中最常用的数据组织方式和对象。...具体实现如表6所示: 表6 Pandas常用数据合并和匹配方法 方法用途示例示例说明merge关联并匹配两个数据框In: print(data2.merge(data1,on='col1',how='...append按行追加数据框In: print(data1.append(data2)) Out: col1 col2 col3 col4 0 1 2 3 4.0...data,等价于pd.concat((data1,data2), axis=0)join关联并匹配两个数据框In: print(data1.join(data2,lsuffix='_d1', rsuffix

    5.8K20

    Pandas库常用方法、函数集合

    Pandas是Python数据分析处理的核心第三方库,它使用二维数组形式,类似Excel表格,并封装了很多实用的函数方法,让你可以轻松地对数据集进行各种操作。...,适合将数值进行分类 qcut:和cut作用一样,不过它是将数值等间距分割 crosstab:创建交叉表,用于计算两个或多个因子之间的频率 join:通过索引合并两个dataframe stack: 将数据框的列...“堆叠”为一个层次化的Series unstack: 将层次化的Series转换回数据框形式 append: 将一行或多行数据追加到数据框的末尾 分组 聚合 转换 过滤 groupby:按照指定的列或多个列对数据进行分组...: 标记重复的行 drop_duplicates: 删除重复的行 str.strip: 去除字符串两端的空白字符 str.lower和 str.upper: 将字符串转换为小写或大写 str.replace...: 替换字符串中的特定字符 astype: 将一列的数据类型转换为指定类型 sort_values: 对数据框按照指定列进行排序 rename: 对列或行进行重命名 drop: 删除指定的列或行 数据可视化

    2.3K10

    用户画像准确性评测初探 ——拨开python大数据分析的神秘面纱

    导读 本文主要包括两部分内容,第一部分会对零零散散进行了两个多月的用户画像评测做个简要回顾和总结,第二部分会对测试中用到的python大数据处理神器pandas做个整体介绍。...(5)  脚本处理:因为涉及的数据量比较大,涉及到比较多文件的处理,强烈建议装两个库,jupyter notebook(交互式笔记本,可及时编写和调试代码,很好用),还有一个大数据处理的pandas,对于...至问卷回收完毕,实际工作才完成一半,接下来就是远超预估的复杂繁琐的数据处理及分析过程了。我想用下面这张图来描述整个分析过程。 ? 整个分析包括四部分: (1)  黄框:活跃用户数据处理。...关键点1:利用dataframe将一行取出来存成array: ? 关键点2:定义diffresult文件列名: ? 关键点3:遍历每一列数据,过滤掉不存在lable: ?...关键点4:循环遍历比较系统数据和用户数据: ?

    4.8K40

    Python数据分析实战之数据获取三大招

    如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。...如果该文件不存在,创建新文件。 a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。...如果该文件不存在,创建新文件。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ab 以二进制格式打开一个文件用于追加。...如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ab+ 以二进制格式打开一个文件用于追加。...pandas不仅可以读取open()函数所读取的文本文件及其他各类文件,最重要的是pandas读取结果为DataFrame数据框,后续的数据处理更为方便。

    8.1K30

    Python数据分析实战之数据获取三大招

    如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。...如果该文件不存在,创建新文件。 a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。...如果该文件不存在,创建新文件。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ab 以二进制格式打开一个文件用于追加。...如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ab+ 以二进制格式打开一个文件用于追加。...pandas不仅可以读取open()函数所读取的文本文件及其他各类文件,最重要的是pandas读取结果为DataFrame数据框,后续的数据处理更为方便。

    7.6K20

    且用且珍惜:Pandas中的这些函数属性将被deprecated

    " 查找"deprecated"结果数量还是比较庞大的,约有762处命中结果并分布于224个文件中,大体浏览一下可分属于三类: 变量命名相关。...具体来说,类似于Excel中的lookup的功能一样,Pandas中的lookup是一个DataFrame对象的方法,用于指定行索引和列名来查找相应结果,返回一个array结果,其函数签名文档如下:...接收参数是两个序列类型(要求两个序列长度一致),分别对应行索引和列名,例如: df = pd.DataFrame({ "A":range(3), "B":list("abc") }) df.head...03 append函数 如果说上述两个函数在日常使用还不够频繁的话,那么append这个函数使用还是比较多的,一方面源于其函数功能的实用性,另一方面也源于其函数名的直观。...类似于Python中列表的append函数,Pandas中的append函数是用于在现有对象的尾部追加新的元素,既可以是对Series追加Series,也可以是在DataFrame后面追加DataFrame

    1.9K20

    盘点 Pandas 中用于合并数据的 5 个最常用的函数!

    正好看到一位大佬 Yong Cui 总结的文章,我就按照他的方法,给大家分享用于Pandas中合并数据的 5 个最常用的函数。这样大家以后就可以了解它们的差异,并正确使用它们了。...是指两个数据框中的数据交叉匹配,出现n1*n2的数据量,具体如下所示。...默认情况下,左右数据框的后缀是“_x”和“_y”,我们还可以通过suffixes参数自定义设置。...他们分别是: concat[1]:按行和按列 合并数据; join[2]:使用索引按行合 并数据; merge[3]:按列合并数据,如数据库连接操作; combine[4]:按列合并数据,具有列间(相同列...)元素操作; append[5]:以DataFrame或dict对象的形式逐行追加数据。

    4.1K30

    pandas合并和连接多个数据框

    pandas作为数据分析的利器,提供了数据读取,数据清洗,数据整形等一系列功能。...当需要对多个数据集合并处理时,我们就需要对多个数据框进行连接操作,在pandas中,提供了以下多种实现方式 1. concat concat函数可以在行和列两个水平上灵活的合并多个数据框,基本用法如下...,合并数据框时,对于不同shape的数据框,尽管行标签和列标签有重复值,但是都是当做独立元素来处理,直接取了并集,这个行为实际上由join参数控制,默认值为outer。...key, 然后比较两个数据框中key列对应的元素,取交集的元素作为合并的对象。...,要求列数相同,用法如下 # append 函数,将新的数据框追加为行 >>> a = pd.DataFrame(np.random.rand(2, 2), columns=['A', 'B']) >>

    2.5K20

    Python 怎么导入数据?

    每次调用该方法,会读取文件的下一行,返回的字符串包含行末的换行符。常用于处理较大的文本文件,避免一次性将整个文件读入内存,造成内存压力。...line = file.readline()readlines 方法:将文件的所有行读取到一个列表中,列表的每个元素是文件的一行内容,同样包含行末的换行符。...a':追加模式。文件存在时,在文件末尾追加内容;文件不存在时,创建新文件。'x':创建新文件并写入。如果文件已存在,则操作失败。'b':二进制模式,用于处理二进制文件,如图片、音频、视频等。...读取 Flat 文件:Pandas 是数据分析中常用的库,它对表格数据的处理能力更为强大和灵活。...例如,读取一个名为demo.csv的文件,只读取前 5 行,文件没有表头,分隔符是制表符,将空字符串识别为缺失值:import pandas as pdfilename = 'cek.jiubae.com'data

    44210

    访问和提取DataFrame中的元素

    访问元素和提取子集是数据框的基本操作,在pandas中,提供了多种方式。...对于一个数据框而言,既有从0开始的整数下标索引,也有行列的标签索引 >>> df = pd.DataFrame(np.random.randn(4, 4), index=['r1', 'r2', 'r3...0.117015 r3 -0.640207 -0.105941 -0.139368 -1.159992 r4 -2.254314 -1.228511 -2.080118 -0.212526 利用这两种索引,可以灵活的访问数据框中的元素...属性运算符 数据框的每一列是一个Series对象,属性操作符的本质是先根据列标签得到对应的Series对象,再根据Series对象的标签来访问其中的元素,用法如下 # 第一步,列标签作为属性,先得到Series...需要注意的是,通过loc设置对应的值时,当key不存在时,会默认进行append操作,示例如下 # r5并不存在,但是不会报错 >>> df.loc['r5'] = 1 # 自动追加了r5的内容 >>>

    5.6K10

    Python3分析CSV数据

    提供iloc函数根据行索引选取一个单独行作为列索引,提供reindex函数为数据框重新生成索引。...基本过程就是将每个输入文件读取到pandas数据框中,将所有数据框追加到一个数据框列表,然后使用concat 函数将所有数据框连接成一个数据框。...如果你需要平行连接数据,那么就在concat 函数中设置axis=1。除了数据框,pandas 中还有一个数据容器,称为序列。你可以使用同样的语法去连接序列,只是要将连接的对象由数据框改为序列。...,然后使用数据框函数将此对象转换为DataFrame,以便可以使用这两个函数计算列的总计和均值。...因为输出文件中的每行应该包含输入文件名,以及文件中销售额的总计和均值,所以可以将这3 种数据组合成一个文本框,使用concat 函数将这些数据框连接成为一个数据框,然后将这个数据框写入输出文件。

    7.5K10

    初识pandas

    pandas基于numpy进行开发,是python数据分析的核心包,针对结构化数据,提供了一系列灵活且强大的数据分析功能。...在pandas中,提供了以下两种基本的数据结构 Series DataFrame 熟悉R的朋友,理解这两个概念非常简单,Series是一维结构,且带有标签,其中的元素都是同种类型,类比R语言中的向量,...二元运算 对两个数据框进行运算,常用的加减乘除算数运算,示例如下 >>> a = pd.DataFrame(np.random.rand(4,4)) >>> b = pd.DataFrame(np.random.rand...合并数据框 # append 函数,将新的数据框追加为行 >>> a = pd.DataFrame(np.random.rand(2, 2), columns=['A', 'B']) >>> b = pd.DataFrame...,用pandas来分析实际数据更加的便利,pandas中也提供了很多的统计分析函数以及灵活的操作方法,更多的技巧后续在详细介绍。

    62521

    00.数据结构关于浮点数运算的越界问题1.数据结构2.Pandas的两种常用数据结构3.Series系列4.DataFrame数据框

    指相互之间存在n种特定关系的数据类型的集合。...访问:访问其内数据的方式是什么? 修改: 对其增删查改的方法什么?...2.Pandas的两种常用数据结构 类型 注释 Series 系列 DataFrame 数据框 使用前需要将pandas 模块引入 from pandas import Series, DataFrame...import pandas as pd 3.Series系列 类似一维数组(ndarray)的对象,由一组数据(各种NumPy数据类型)以及与之相关的数据标签(索引)组成,用于存储一行或一列数据。...每个Series对象都由两个数组组成: index:从NumPy数组继承的Index对象,保存标签信息。 values:保存值的NumPy数组。

    1.3K10

    【最全】Python连接数据库取数与写入数据

    所有代码都实测可用,并实际应用于生产,分享给更多在这方面遇到困难的朋友。 取数后的分析结果若想定时发送给相关人员,可参考【干货】用Python每天定时发送监控邮件。...一、连接数据库方法一(pymysql) 首先介绍连接数据库的方法一,具体代码如下: import pymysql import numpy as np import pandas as pd #36...二、连接数据库方法二(create_engine) 接着介绍连接数据库的方法二,具体代码如下: import pandas as pd from sqlalchemy import create_engine...四、一行一行追加写入少量数据 为了让大家更清晰地看到取数,写入数据,追加写入数据的逻辑。 这一节把前面几小节的内容进行了汇总,并增加了一行一行追加写入少量数据的代码。...在第四小节中已经介绍了一条一条写入数据的方法,本小节介绍把数据框直接追加写入到数据库表中的方法。

    1.3K10

    51行代码,自制Txt转MySQL软件!

    数据存储读取,6千字搞定各种方法,里面有对比直接使用pymysql和使用pandas的to_sql存储数据的速率差别,描述不一定准确,欢迎阅读指正。...三、直接食用方法 两个代码文件,去除空格和注释,还有51行代码,嘿嘿~ 3.1 功能 GUI界面,支持选择指定文件、输入数据库用户名 密码 数据库名称 表名。...读取指定文件,数据处理后,存入指定的数据库表中,如果表不存在就直接创建一个新表存储数据;否则直接添加数据到数据表中。...修改好后,直接点击start.bat即可运行项目,会弹出一个黑框(cmd),和一个gui程序界面,黑框里会显示程序执行输出的日志(就是程序里的print或者报错信息),gui里我们需要先点击按钮选择存储的文件...,就想到用python写也很方便,时间仓促,界面比较一般,不过工具嘛,最开始能实现功能比较重要。

    2.1K20
    领券