bcolz 包

夙愿已清 提交于 2020-02-08 01:25:15

 

安装:

‎bcolz 依赖于 NumPy,也可以选择 Numexpr。此外,如果要从源安装,并且 C 编译器(Python 2 的 Clang、GCC 和 MSVC 2008 和 Python 3 的 MSVC 2010)。‎

也就是先要安装numpy和Numexpr,再装这个大哥。

Do:

$ easy_install -U bcolz

or:

$ pip install -U bcolz

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 = <function namedtuple> )
具有启动,停止和步进边界的迭代器。

参数:    
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 = <function namedtuple >,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'(如果已安装)。
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!