Notebook on nbviewer (original) (raw)
Notebook
Lesson 5¶
We will be taking a brief look at the * stack* and * unstack* functions.
In [1]:
Import libraries
import pandas as pd import sys
In [2]:
print('Python version ' + sys.version) print('Pandas version: ' + pd.version)
Python version 3.7.4 (default, Aug 9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] Pandas version: 1.3.5
In [3]:
Our small data set
d = {'one':[1,1],'two':[2,2]} i = ['a','b']
Create dataframe
df = pd.DataFrame(data = d, index = i) df
Out[4]:
Index(['a', 'b'], dtype='object')
In [5]:
Bring the columns and place them in the index
stack = df.stack() stack
Out[5]:
a one 1 two 2 b one 1 two 2 dtype: int64
In [6]:
The index now includes the column names
stack.index
Out[6]:
MultiIndex([('a', 'one'), ('a', 'two'), ('b', 'one'), ('b', 'two')], )
In [7]:
unstack = df.unstack() unstack
Out[7]:
one a 1 b 1 two a 2 b 2 dtype: int64
Out[8]:
MultiIndex([('one', 'a'), ('one', 'b'), ('two', 'a'), ('two', 'b')], )
We can also flip the column names with the index using the * T* (transpose) function.
In [9]:
transpose = df.T transpose
Out[10]:
Index(['one', 'two'], dtype='object')
This tutorial was created by HEDARO