def _build_tree(index, indices, level=0):
'''
Build a tree of IndexNode that is a tree representtion of
pandas multi-index
'''
grps = groupby(indices, key=lambda x: x[0])
nodes = []
for k, g in grps:
g = list(g)
if len(g[0]) == 1:
# leaf node
for i in g:
nodes.append(IndexNode(value=index.levels[level][i[0]]))
else:
next_level = [i[1:] for i in g]
children = IndexNode._build_tree(
index, next_level, level + 1)
parent = IndexNode(value=index.levels[level][k])
parent.add_children(children)
nodes.append(parent)
return nodes
presentation_model.py 文件源码
python
阅读 26
收藏 0
点赞 0
评论 0
评论列表
文章目录