Skip to content

Commit 718f212

Browse files
Use more meaningful column and index names.
1 parent 2e0873b commit 718f212

File tree

1 file changed

+44
-44
lines changed

1 file changed

+44
-44
lines changed

pandas/core/frame.py

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5216,29 +5216,29 @@ def stack(self, level=-1, dropna=True):
52165216
52175217
**Multi level columns: simple case**
52185218
5219-
>>> multicol1 = pd.MultiIndex.from_tuples([('size', 'weight'), ('size', 'height')])
5220-
>>> df_multi_level_cols1 = pd.DataFrame([[0, 1], [2, 3]],
5219+
>>> multicol1 = pd.MultiIndex.from_tuples([('weight', 'kg'), ('weight', 'pounds')])
5220+
>>> df_multi_level_cols1 = pd.DataFrame([[1, 2], [2, 4]],
52215221
... index=['cat', 'dog'],
52225222
... columns=multicol1)
52235223
52245224
Stacking a dataframe with a multi-level column axis:
52255225
52265226
>>> df_multi_level_cols1
5227-
size
5228-
weight height
5229-
cat 0 1
5230-
dog 2 3
5227+
weight
5228+
kg pounds
5229+
cat 1 2
5230+
dog 2 4
52315231
>>> df_multi_level_cols1.stack()
5232-
size
5233-
cat height 1
5234-
weight 0
5235-
dog height 3
5236-
weight 2
5232+
weight
5233+
cat kg 1
5234+
pounds 2
5235+
dog kg 2
5236+
pounds 4
52375237
52385238
**Missing values**
52395239
5240-
>>> multicol2 = pd.MultiIndex.from_tuples([('X', 'a'), ('Y', 'b')])
5241-
>>> df_multi_level_cols2 = pd.DataFrame([[0.0, 1.0], [2.0, 3.0]],
5240+
>>> multicol2 = pd.MultiIndex.from_tuples([('weight', 'kg'), ('height', 'm')])
5241+
>>> df_multi_level_cols2 = pd.DataFrame([[1.0, 2.0], [3.0, 4.0]],
52425242
... index=['cat', 'dog'],
52435243
... columns=multicol2)
52445244
@@ -5248,32 +5248,32 @@ def stack(self, level=-1, dropna=True):
52485248
are filled with NaNs:
52495249
52505250
>>> df_multi_level_cols2
5251-
X Y
5252-
a b
5253-
cat 0.0 1.0
5254-
dog 2.0 3.0
5251+
weight height
5252+
kg m
5253+
cat 1.0 2.0
5254+
dog 3.0 4.0
52555255
>>> df_multi_level_cols2.stack()
5256-
X Y
5257-
cat a 0.0 NaN
5258-
b NaN 1.0
5259-
dog a 2.0 NaN
5260-
b NaN 3.0
5256+
height weight
5257+
cat kg NaN 1.0
5258+
m 2.0 NaN
5259+
dog kg NaN 3.0
5260+
m 4.0 NaN
52615261
52625262
**Prescribing the level(s) to be stacked**
52635263
52645264
The first parameter controls which level or levels are stacked:
52655265
52665266
>>> df_multi_level_cols2.stack(0)
5267-
a b
5268-
cat X 0.0 NaN
5269-
Y NaN 1.0
5270-
dog X 2.0 NaN
5271-
Y NaN 3.0
5267+
kg m
5268+
cat height NaN 2.0
5269+
weight 1.0 NaN
5270+
dog height NaN 4.0
5271+
weight 3.0 NaN
52725272
>>> df_multi_level_cols2.stack([0, 1])
5273-
cat X a 0.0
5274-
Y b 1.0
5275-
dog X a 2.0
5276-
Y b 3.0
5273+
cat height m 2.0
5274+
weight kg 1.0
5275+
dog height m 4.0
5276+
weight kg 3.0
52775277
dtype: float64
52785278
52795279
**Dropping missing values**
@@ -5287,21 +5287,21 @@ def stack(self, level=-1, dropna=True):
52875287
keyword parameter:
52885288
52895289
>>> df_multi_level_cols3
5290-
X Y
5291-
a b
5292-
cat NaN 1.0
5293-
dog 2.0 3.0
5290+
weight height
5291+
kg m
5292+
cat NaN 1.0
5293+
dog 2.0 3.0
52945294
>>> df_multi_level_cols3.stack(dropna=False)
5295-
X Y
5296-
cat a NaN NaN
5297-
b NaN 1.0
5298-
dog a 2.0 NaN
5299-
b NaN 3.0
5295+
height weight
5296+
cat kg NaN NaN
5297+
m 1.0 NaN
5298+
dog kg NaN 2.0
5299+
m 3.0 NaN
53005300
>>> df_multi_level_cols3.stack(dropna=True)
5301-
X Y
5302-
cat b NaN 1.0
5303-
dog a 2.0 NaN
5304-
b NaN 3.0
5301+
height weight
5302+
cat m 1.0 NaN
5303+
dog kg NaN 2.0
5304+
m 3.0 NaN
53055305
"""
53065306
from pandas.core.reshape.reshape import stack, stack_multiple
53075307

0 commit comments

Comments
 (0)