Notebook on nbviewer (original) (raw)

Notebook

Pandas Tutorial | Hedaro >

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