我只是想看看有没有人能在我打开一个问题之前看到我正在做的事情中的错误。。。在
最小示例-首先创建多索引数据帧:
miindex = pd.MultiIndex.from_product([["x","y"], ["10","20"]],names=['row-foo', 'row-bar'])
micol = pd.MultiIndex.from_product([['a','b','c'], ["1","2"]],names=['col-foo', 'col-bar'])
df = pd.DataFrame(index=miindex, columns=micol).sortlevel().sortlevel(axis=1)
df = df.fillna(value=3.14)
df
这为我们提供了一个很好的测试多索引,包括列和行级别的名称:
现在,如果我用它做一个稀疏矩阵并显示它,列级别的名称就消失了:
^{pr2}$如果我将稀疏版本转换回稠密级别名称,这些级别名称仍将消失:
tf = ds.to_dense()
tf
现在我知道显示sparse版本调用了_dense(),但丢失似乎发生在转换为sparse时。我正在探索迁移到sparse以减少代码库的内存使用量,并且我尝试访问稀疏数据帧中的级别生成“KeyError:'levelnotfound'”
有人知道如何在pandas稀疏数据帧中保存列级名称吗?在
(对熊猫0.17.0的测试,也在0.16.2中观察到)
这是熊猫身上的虫子。在
此处是问题跟踪者:https://github.com/pydata/pandas/issues/11600
已发送请求并将修复代码合并到主节点
看起来修复将在0.17.1中
相关问题 更多 >
编程相关推荐