-
DataFrame.unstack(level=-1, fill_value=None)
[source] -
Pivot a level of the (necessarily hierarchical) index labels, returning a DataFrame having a new level of column labels whose inner-most level consists of the pivoted index labels. If the index is not a MultiIndex, the output will be a Series (the analogue of stack when the columns are not a MultiIndex). The level involved will automatically get sorted.
Parameters: level : int, string, or list of these, default -1 (last level)
Level(s) of index to unstack, can pass level name
fill_value : replace NaN with this value if the unstack produces
missing values
Returns: unstacked : DataFrame or Series
See also
-
DataFrame.pivot
- Pivot a table based on column values.
-
DataFrame.stack
- Pivot a level of the column labels (inverse operation from
unstack
).
Examples
123456789>>> index
=
pd.MultiIndex.from_tuples([(
'one'
,
'a'
), (
'one'
,
'b'
),
... (
'two'
,
'a'
), (
'two'
,
'b'
)])
>>> s
=
pd.Series(np.arange(
1.0
,
5.0
), index
=
index)
>>> s
one a
1.0
b
2.0
two a
3.0
b
4.0
dtype: float64
1234>>> s.unstack(level
=
-
1
)
a b
one
1.0
2.0
two
3.0
4.0
1234>>> s.unstack(level
=
0
)
one two
a
1.0
3.0
b
2.0
4.0
1234567>>> df
=
s.unstack(level
=
0
)
>>> df.unstack()
one a
1.0
b
2.0
two a
3.0
b
4.0
dtype: float64
-
DataFrame.unstack()

2025-01-10 15:47:30
Please login to continue.