import bcolz
import pandas as pd
ct = bcolz.open(rootdir=path)
'''
打开一个基于磁盘的carray / ctable。
参数:
rootdir:路径名(字符串)
承载carray / ctable对象的目录。
mode:打开模式(字符串)
指定打开对象的模式。支持的值是:
'r'为只读
'w'清空以前的基础数据
'a'允许在现有数据之上进行读写
返回:
out:一个carray / ctable对象或IOError(如果没有找到对象)
'''
# 方法一
df = pd.DataFrame(ct)
# 方法二
df = ct.todataframe()
方法一
ct4 = bcolz.ctable.fromdataframe(df, rootdir=path)
方法二
with bcolz.zeros(0, dtype="i4,f8", mode='w', rootdir=path) as ct2:
new_col = np.linspace(0, 1, N)
ct3.addcol(new_col)
'''
返回给定shape和type型的新的Carray对象,用0填充。
参数:
shape:int
新阵列的形状,例如(2,3)。
dtype:数据类型,可选
数组所需的数据类型,例如numpy.int8。默认是 numpy.float64。
kwargs:参数或字典的列表
carray构造函数支持的任何参数。
返回:
out:carray or ctable
具有给定shape和dtype的0的Bcolz对象。
'''
方法三
with bcolz.zeros(0, dtype="i4,f8", mode='w', rootdir=path) as ct3:
for i in range(20000):
ct1.append((i, i**2)
)
方法四
ct4 = bcolz.fromiter(
((i,i*i) for i in range(N)),
dtype="i4,f8",
count=N,
rootdir=path
)
bcolz.fromiter(iterable,dtype,count,** kwargs )
'''
从可迭代对象创建一个carray / ctable 。
参数:
iterable : iterable object
一个可迭代的对象,为数据提供数据。
dtype :numpy.dtype实例
指定结果对象的类型。
count:int
要从迭代中读取的项目数量。如果设置为-1,则意味着迭代将被使用,直到耗尽(不推荐,请参阅下面的注释)。
kwargs:list of parameters or dictionary
Carray / ctable构造函数支持的任何参数。
返回:
out:一个carray / ctable对象
'''
ct = bcolz.open(path)
# 方法一
df = ct.todataframe()
df = df.loc[(df.date>start)&(df.date<=end)]
# 方二
ct = ct.where('(date>{})&(date<={})'.format(start, end))
df = pd.DataFrame(ct)
where(self, boolarr, limit=None, skip=0)
'''
Iterator返回booleanr为true 的这个对象的值。
这目前仅适用于一维的布尔曲线。
参数:
boolarr:布尔类型的Carray或NumPy数组
布尔值。
limit:int
要返回的元素的最大数量。默认是返回一切。
skip:int
要跳过的元素的初始数量。默认值是0。
返回:
out:迭代器
'''
# 删除最新多少个
ct = bcolz.open(rootdir=path)
count = 0
for i in range(len(ct) - 1, 0, -1):
if ct["date"][i] >= int(date):
count += 1
else:
break
ct.trim(count)
ct.flush
flush()
'''
将内部缓冲区中的数据刷新到磁盘。
这个调用通常应该在执行修改后(__settitem __(),append())在持久性模式下完成。
如果您不这样做,您可能会失去部分修改。
'''
# 删除名为name的列或pos位置。
delcol(name=None, pos=None, keep=False)
'''
参数:
name: string, 可选
要删除的列的名称。
pos:int,可选
要删除的列的位置。
keep: boolean
对于支持磁盘的列:将数据保存在磁盘上?
'''
类型 简写 描述
bool_ 'b' 布尔型数据类型(True 或者 False)
int_ 'i8' 默认的整数类型(int32 或 int64)
intc 'i4/i8' 一般是 int32 或 int 64
intp 'i4/i8' 用于索引的整数类型(一般情是 int32 或 int64)
int8 'i1' 字节(-128 to 127)
int16 'i2' 整数(-32768 to 32767)
int32 'i4' 整数(-2147483648 to 2147483647)
int64 'i8' 整数(-9223372036854775808 to 9223372036854775807)
uint8 'u1' 无符号整数(0 to 255)
uint16 'u2' 无符号整数(0 to 65535)
uint32 'u4' 无符号整数(0 to 4294967295)
uint64 'u8' 无符号整数(0 to 18446744073709551615)
float_ 'f8' float64 类型的简写
float16 'f2' 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位
float32 'f4' 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位
float64 'f8' 双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位
complex_ 'c16' complex128 类型的简写,即 128 位复数
complex64 'c8' 复数,表示双 32 位浮点数(实数部分和虚数部分)
complex128 'c16' 复数,表示双 64 位浮点数(实数部分和虚数部分)
Welcome to bcolz’s documentation! — bcolz 1.2.0 documentation (blosc.org)