One - One Code All

Blog Content

bcolz 一个高压缩率,时序数据存储python 库

Python 智能投研 统计学-科学计算   2018-07-21 10:39:49

bcolz 是一个高压缩率,读写效率高的python库


官网: http://bcolz.blosc.org/en/latest/


分ctable carray 两种存储类型


ctable类

class bcolz.ctable.ctable(columns = None,names = None,** kwargs )

参数:    

columns:元组或列对象列表


用于构建ctable对象的列数据列表。这些通常是carrays,但也可以是NumPy数组列表或纯NumPy结构化数组。列表或元组列表也是有效的,只要它们可以转换为carray对象即可。


names:字符串或字符串列表


列的名称列表。此列表中的名称必须是有效的Python标识符,不能以下划线开头,并且必须以与cols相同的顺序指定。如果没有通过,名称将被选为第一列的'f0',第二列的'f1',依此类推(NumPy约定)。


kwargs:参数列表或字典

 


属性


cbytes    此对象的压缩大小(以字节为单位)。

cparams    此对象的压缩参数。

dtype    此对象的数据类型(numpy dtype)。

names    对象的列名(列表)。

nbytes    此对象的原始(未压缩)大小(以字节为单位)。

ndim    此对象的维数。

shape    这个物体的形状。

size    这个对象的大小。


 


函数

addcol(newcol [,name,pos,move])    添加一个新的newcol对象作为列。

append(COLS)    将cols附加到此ctable。

copy(** kwargs)    返回此ctable的副本。

delcol([姓名,pos,keep])    删除名为name的列或位置pos。

eval(表达,** kwargs)    评估列上的表达式并返回结果。

fetchwhere(表达[,outcols,limit,...])    获取满足表达式条件的行。

flush()    将内部缓冲区中的数据刷新到磁盘。

free_cachemem()    摆脱内部缓存以释放内存。

fromdataframe(** kwargs)    从pandas数据帧中返回一个ctable对象。

fromhdf5([的NodePath])    从复合HDF5数据集(PyTables表)中返回ctable对象。

iter([开始,停止,步骤,outcols,限制,......])    具有启动,停止和步进边界的迭代器。

resize(NITEMS)    调整实例大小以使其具有nitems。

todataframe([列,东方])    从此对象返回一个pandas数据帧。

tohdf5(filepath [,nodepath,mode,cparams,...])    将此对象写入HDF5文件。

trim(NITEMS)    从此实例中删除尾随的nitems。

where(表达式[,outcols,limit,skip,...])    迭代表达式为true的行。

whereblocks(表达[,blen,outcols,...])    迭代在此ctable上填充表达式条件的行,以大小为blen的块。


addcol(newcol,name = None,pos = None,move = False,** kwargs )

添加一个新的newcol对象作为列。

参数:    

newcol:carray,ndarray,list或tuple


如果通过了carray,则不会进行转换。如果必须转换为carray,则应用kwargs。


name:string,optional


新列的名称。如果没有通过,它将收到一个自动名称。


pos:int,可选


列位置。如果没有通过,它将在最后附加。


move:布尔值,可选


如果新列是现有的,基于磁盘的carray它应该a)复制数据目录(False)或b)移动数据目录(True)


kwargs:参数列表或字典


carray构造函数支持的任何参数。


 


append(cols )


将cols附加到此ctable。


参数:    

cols:标量值的列表/元组,NumPy数组或carray


它也可以是NumPy记录,NumPy重组或其他ctable。


cbytes


此对象的压缩大小(以字节为单位)。

cols=无

ctable列存取器。


copy(** kwargs )


返回此ctable的副本。


参数:    

kwargs:参数列表或字典


carray / ctable构造函数支持的任何参数。


返回:    

out:ctable对象


这个ctable的副本。


cparams


此对象的压缩参数。


delcol(name = None,pos = None,keep = False )


删除名为name的列或位置pos。


参数:    

name:string,optional


要删除的列的名称。


pos:int,可选


要删除的列的位置。


保持:布尔值


dtype


此对象的数据类型(numpy dtype)。


eval(表达式,** kwargs )


评估列上的表达式并返回结果。


参数:    

表达式:字符串


形成表达式的字符串,如'2 * a + 3 * b'。'a'和'b'的值是从调用函数的帧中获取的变量名。这些变量可以是此表中的列名,标量,carrays或NumPy数组。


kwargs:参数列表或字典


eval()顶级函数支持的任何参数。


返回:    

out:bcolz对象


表达的结果。您可以通过在kwargs中传递carray构造函数支持的其他参数来定制此对象的属性。


也可以看看


eval


fetchwhere(expression,outcols = None,limit = None,skip = 0,out_flavor = None,user_dict = {},vm = None,** kwargs )


获取满足表达式条件的行。


参数:    

表达式:字符串或carray


布尔值Numexpr表达式或布尔值carray。


outcols:字符串或字符串列表


要在结果中返回的列名列表。或者,可以将其指定为字符串,例如“f0 f1”或“f0,f1”。如果为None,则返回所有列。如果存在特殊名称' nrow__ ',则行数将包含在输出中。


limit:int


要返回的最大元素数。默认是返回所有内容。


skip:int


要跳过的初始元素数。默认值为0。


out_flavor:string


外出物的味道。它可以是'bcolz'或'numpy'。如果为None,则从bcolz.defaults.out_flavor获取值。


user_dict:dict


用户提供的字典,其中表达式中的变量可以通过名称找到。


vm:字符串


要在计算中使用的虚拟机。它可以是'numexpr','python'或'dask'。默认情况下使用'numexpr'(如果已安装)。


kwargs:参数列表或字典


carray构造函数支持的任何参数。


返回:    

out:bcolz或numpy对象


表达的结果。如果out_flavor ='bcolz',您可以通过在kwargs中传递carray构造函数支持的任何其他参数来调整此对象的属性。


flush()


将内部缓冲区中的数据刷新到磁盘。


通常应该在持久性模式下执行修改(__settitem __(),append())之后执行此调用。如果您不这样做,您可能会失去部分修改。


free_cachemem()

摆脱内部缓存以释放内存。

通常可以在从carray / ctable读取之后进行该调用,以释放内部使用的存储器以缓存数据块/块。


静态fromdataframe(** kwargs )

从pandas数据帧中返回一个ctable对象。

参数:    

df:DataFrame


熊猫数据框。


kwargs:参数列表或字典


ctable构造函数支持的任何参数。


返回:    

out:ctable对象


一个ctable填充了df的值。


如果可能,'object'dtype将被转换为'S'字符串类型。这样可以更好地节省bcolz的存储空间。


static fromhdf5(nodepath ='/ ctable',** kwargs )

从复合HDF5数据集(PyTables表)中返回ctable对象。

参数:    

filepath:string


HDF5文件的路径。


nodepath:string


HDF5文件中节点的路径。


kwargs:参数列表或字典


ctable构造函数支持的任何参数。


返回:    

out:ctable对象


一个ctable填充了HDF5节点的值。


也可以看看


ctable.tohdf5

iter(start = 0,stop = None,step = 1,outcols = None,limit = None,skip = 0,out_flavor =

具有启动,停止和步进边界的迭代器。


参数:    

start:int


起始项目。


停止:int


迭代器停止的项目。


步骤:int


每次迭代期间递增的项目数。不能否定。


outcols:字符串或字符串列表


要在结果中返回的列名列表。或者,可以将其指定为字符串,例如“f0 f1”或“f0,f1”。如果为None,则返回所有列。如果存在特殊名称' nrow__ ',则行数将包含在输出中。


limit:int


要返回的最大元素数。默认是返回所有内容。


skip:int


要跳过的初始元素数。默认值为0。


out_flavor:namedtuple,tuple或ndarray


返回的行是命名元组还是元组。默认名为元组。


返回:    

out:可迭代


也可以看看


where


names

对象的列名(列表)。


nbytes

此对象的原始(未压缩)大小(以字节为单位)。


ndim

此对象的维数。


resize(nitems )

调整实例大小以使其具有nitems。

参数:    

nitems:int


实例的最终长度。如果nitems大于实际长度,则使用self.dflt作为填充值追加新项目。


shape

这个物体的形状。


size

这个对象的大小。


todataframe(columns = None,orient ='columns' )

从此对象返回一个pandas数据帧。

参数:    

columns:列标签序列,可选


必须在orient ='index'时传递。


orient:{'columns','index'},默认'列'


数据的“方向”。如果输入的键对应于列标签,则传递“列”(默认值)。否则,如果键对应于索引,则传递'index'。


返回:    

out:DataFrame


pandas DataFrame填充了此对象的值。


 


tohdf5(filepath,nodepath ='/ ctable',mode ='w',cparams = None,cname = None )

将此对象写入HDF5文件。

参数:    

filepath:string


HDF5文件的路径。


nodepath:string


HDF5文件中节点的路径。


mode:string


打开PyTables文件的模式。默认为'w'rite模式。


cparams:cparams对象


压缩参数。默认值与当前bcolz环境的默认值相同。


cname:string


PyTables支持的任何压缩器(例如'zlib')。默认情况下使用'blosc'作为元压缩器与其中一个压缩器组合使用(参见上面的cparams参数)。


 


trim(nitems )

从此实例中删除尾随的nitems。

参数:    

nitems:int


要修剪的尾随项目数。


where(expression,outcols = None,limit = None,skip = 0,out_flavor = ,user_dict = {},vm = None )

迭代表达式为true的行。


参数:    

表达式:字符串或carray


布尔值Numexpr表达式或布尔值carray。


outcols:字符串或字符串列表


要在结果中返回的列名列表。或者,可以将其指定为字符串,例如“f0 f1”或“f0,f1”。如果为None,则返回所有列。如果存在特殊名称' nrow__ ',则行数将包含在输出中。


limit:int


要返回的最大元素数。默认是返回所有内容。


skip:int


要跳过的初始元素数。默认值为0。


out_flavor:namedtuple,tuple或ndarray


返回的行是命名元组还是元组。默认名为元组。


user_dict:dict


用户提供的字典,其中表达式中的变量可以通过名称找到。


vm:字符串


要在计算中使用的虚拟机。它可以是'numexpr','python'或'dask'。默认情况下使用'numexpr'(如果已安装)。


返回:    

out:可迭代


whereblocks(expression,blen = None,outcols = None,limit = None,skip = 0,user_dict = {},vm = None )

迭代在此ctable上填充表达式条件的行,以大小为blen的块。

参数:    

表达式:字符串或carray


布尔值Numexpr表达式或布尔值carray。


blen:int


返回的块的长度。默认值是chunklen,或者ctable,是不同列chunklens的最小值。


outcols:字符串或字符串列表


要在结果中返回的列名列表。或者,可以将其指定为字符串,例如“f0 f1”或“f0,f1”。如果为None,则返回所有列。如果存在特殊名称' nrow__ ',则行数将包含在输出中。


limit:int


要返回的最大元素数。默认是返回所有内容。


skip:int


要跳过的初始元素数。默认值为0。


user_dict:dict


用户提供的字典,其中表达式中的变量可以通过名称找到。


vm:字符串


要在计算中使用的虚拟机。它可以是'numexpr','python'或'dask'。默认情况下使用'numexpr'(如果已安装)。



上一篇: Q语言 - 概述
下一篇:近五年17次政治局会议房地产表述一览

The minute you think of giving up, think of the reason why you held on so long.