数据框存储与对象持久化技术解析
1. 列存储数据框的实现
在数据处理中,列存储的数据框类实现相对较为简便。以下是其构造函数的代码:
from df_base import DataFrame
from util import all_eq
class DfCol(DataFrame):
def __init__(self, **kwargs):
assert len(kwargs) > 0
assert all_eq(len(kwargs[k]) for k in kwargs)
for k in kwargs:
assert all_eq(type(v) for v in kwargs[k])
self._data = kwargs
def all_eq(*values):
return (not values) or all(v == values[0] for v in values)
这里使用了辅助函数 all_eq 来确保每列中的所有值具有相同的类型。需要注意的是, DfCol 的构造函数与 DfRow 的构造函数签名不同,但只要在代码中合理设计,这种差异是可以接受的。
同时,为 DfCol 实现了几个简单的方法,如获取列数、行数、列名和指定位置的值等:
def
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



