-
-
Notifications
You must be signed in to change notification settings - Fork 19.1k
Open
Labels
EnhancementNeeds TriageIssue that has not been reviewed by a pandas team memberIssue that has not been reviewed by a pandas team memberOutput-Formatting__repr__ of pandas objects, to_string__repr__ of pandas objects, to_string
Description
Feature Type
-
Adding new functionality to pandas
-
Changing existing functionality in pandas
-
Removing existing functionality in pandas
Problem Description
When a pandas DataFrame
is printed, the MultiIndex
column levels are aligned with the 1st (left most) column instead of the last (right most) column:
import numpy as np
import pandas as pd
print(pd.DataFrame(data=[np.arange(6),np.arange(6)+5], columns=pd.MultiIndex.from_product([("a"*10,"b"*20),("A","B","C")])))
produces
aaaaaaaaaa bbbbbbbbbbbbbbbbbbbb
A B C A B C
0 0 1 2 3 4 5
1 5 6 7 8 9 10
instead of the more compact (and, arguably, clearer and more natural)
aaaaaaaaaa bbbbbbbbbbbbbbbbbbbb
A B C A B C
0 0 1 2 3 4 5
1 5 6 7 8 9 10
It would be nice if the second version were available, at least as an option.
Feature Description
Level values in MultiIndex
columns should align with the right-most relevant lower-level column.
This may be controlled by a pd.set_option('display.multiindex_column_alignment', 'right')
- proposed behavior vs left
- current behavior. Additional value can be "center"
. Or first
instead of left
and last
instead of right
.
Alternative Solutions
none
Additional Context
Metadata
Metadata
Assignees
Labels
EnhancementNeeds TriageIssue that has not been reviewed by a pandas team memberIssue that has not been reviewed by a pandas team memberOutput-Formatting__repr__ of pandas objects, to_string__repr__ of pandas objects, to_string