安装:
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'(如果已安装)。
来源:CSDN
作者:ChengLaun
链接:https://blog.csdn.net/weixin_39875161/article/details/104214531