Pandas sparsedaframe在执行以下操作时将丢失列名

2024-05-29 00:23:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是pandas版本0.16.0和python2.7。在

我有一个sparsetaframe,它在columnsindex索引上都有一个多重索引:

In [1]: df.index.names
Out[1]: FrozenList([u'Malicious', u'Environment', u'Agent Version', u'Datamodel Version', u'Operating System', u'User', u'Process', u'Unique ID', u'Valid', u'Count'])

以及:

^{pr2}$

当我将数据帧转换为密集矩阵时,index多索引名称保持不变:

In [1]: df.to_dense().index.names
Out[1]: FrozenList([u'Malicious', u'Environment', u'Agent Version', u'Datamodel Version', u'Operating System', u'User', u'Process', u'Unique ID', u'Valid', u'Count'])

但是,columns多索引名称将丢失并替换为None

In [1]: df.to_dense().columns.names
Out[1]: FrozenList([None, None, None])

同时保持多索引结构。在

我知道我可以通过

In [20]: dense = df.to_dense()
In [21]: dense.columns.names = df.columns.names
In [22]: dense.columns.names
Out[22]: FrozenList([u'Feature', u'Parameter', u'Value'])

但我的问题是,为什么会发生这种情况,如果这是有意的行为,如果是的话——为什么?在

谢谢!在


Tags: columnstoinnonedfindexenvironmentnames

热门问题