[英]Do python pandas sparse dataframes lose multi-index column names or am I doing it wrong?
我只想看看在打开问题之前是否有人能看到我所做的错误...
最小的示例-首先创建一个多索引数据框:
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
这为我们提供了一个很好的带有列和行级别名称的测试多索引:
现在,如果我从中制作一个稀疏矩阵并将其显示出来,列级名称就消失了:
ds = df.to_sparse()
ds
如果我将稀疏版本转换回密集版本,则这些级别名称仍然不存在:
tf = ds.to_dense()
tf
现在,我知道显示稀疏版本会调用to_dense(),但是丢失似乎是在转换为稀疏版本时发生的。 我正在探索迁移到稀疏模式以减少代码库的内存使用,并且尝试访问稀疏数据帧内的级别会产生“ KeyError:'未找到级别'”
有谁知道如何在熊猫稀疏数据框中保留列级名称?
(测试显示在熊猫0.17.0上,也在0.16.2上观察到)
这是熊猫里的虫子。
问题追踪器在这里: https : //github.com/pydata/pandas/issues/11600
发送请求请求并将修订代码合并到主服务器
看起来修复将在0.17.1中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.