Learning machine learning with machine learning flashcards, Python ML book, or study with me videos.
Using List Comprehensions With pandas
20 Dec 2017
Preliminaries
# Import modules
import pandas as pd
# Set ipython's max row display
pd.set_option['display.max_row', 1000]
# Set iPython's max column width to 50
pd.set_option['display.max_columns', 50]
Create an example dataframe
data = {'name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],
'year': [2012, 2012, 2013, 2014, 2014],
'reports': [4, 24, 31, 2, 3]}
df = pd.DataFrame[data, index = ['Cochice', 'Pima', 'Santa Cruz', 'Maricopa', 'Yuma']]
df
Jason | 4 | 2012 |
Molly | 24 | 2012 |
Tina | 31 | 2013 |
Jake | 2 | 2014 |
Amy | 3 | 2014 |
List Comprehensions
As a loop
# Create a variable
next_year = []
# For each row in df.years,
for row in df['year']:
# Add 1 to the row and append it to next_year
next_year.append[row + 1]
# Create df.next_year
df['next_year'] = next_year
# View the dataframe
df
Jason | 4 | 2012 | 2013 |
Molly | 24 | 2012 | 2013 |
Tina | 31 | 2013 | 2014 |
Jake | 2 | 2014 | 2015 |
Amy | 3 | 2014 | 2015 |
As list comprehension
# Subtract 1 from row, for each row in df.year
df['previous_year'] = [row-1 for row in df['year']]
df
Jason | 4 | 2012 | 2013 | 2011 |
Molly | 24 | 2012 | 2013 | 2011 |
Tina | 31 | 2013 | 2014 | 2012 |
Jake | 2 | 2014 | 2015 | 2013 |
Amy | 3 | 2014 | 2015 | 2013 |
Find an error or bug?
Everything on this site is available on GitHub. Head to and submit a change.