Skip to content

df.describe() clobbers columns.names #11517

Closed
@dragoljub

Description

@dragoljub

I recently migrated some of my code to Pandas 0.17.0. I found that the df.describe() method is clobbering index names when used after a transpose. Here I'm just using transpose as an easy way to create multi-index column names.

Pandas 0.17.0
Numpy 1.9.2

import pandas as pd
import numpy as np

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
                          'foo', 'bar', 'foo', 'foo'],
                    'B' : ['one', 'one', 'two', 'three',
                          'two', 'two', 'one', 'three'],
                    'C' : np.random.randn(8),
                    'D' : np.random.randn(8)})

# Create Multi Index For Rows
In [11]: df.groupby(['A', 'B']).mean().index.names
Out[11]: FrozenList([u'A', u'B'])

# Transposing the row index to column names works.
In [31]: df.groupby(['A', 'B']).mean().T.columns.names 
Out[31]: FrozenList([u'A', u'B'])

# After the describe() method the column names are dropped.
In [23]: df.groupby(['A', 'B']).mean().T.describe().columns.names 
Out[23]: FrozenList([None]) # In Pandas 0.13.1 the column names were preserved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugIndexingRelated to indexing on series/frames, not to indexes themselves

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions