Loop Data Structures Part 2

Intermediate Python

Hugo Bowne-Anderson

Data Scientist at DataCamp

brics

         country    capital    area  population
BR        Brazil   Brasilia   8.516      200.40
RU        Russia     Moscow  17.100      143.50
IN         India  New Delhi   3.286     1252.00
CH         China    Beijing   9.597     1357.00
SA  South Africa   Pretoria   1.221       52.98

dfloop.py

import pandas as pd
brics = pd.read_csv("brics.csv", index_col = 0)
Intermediate Python

for, first try

dfloop.py

import pandas as pd
brics = pd.read_csv("brics.csv", index_col = 0)

for val in brics : print(val)
country
capital
area
population
Intermediate Python

iterrows

dfloop.py

import pandas as pd
brics = pd.read_csv("brics.csv", index_col = 0)

for lab, row in brics.iterrows(): print(lab) print(row)
BR
country         Brazil
capital       Brasilia
area             8.516
population       200.4
Name: BR, dtype: object 
...
RU
country       Russia
capital       Moscow
area            17.1
population     143.5
Name: RU, dtype: object
IN ...
Intermediate Python

Selective print

dfloop.py

import pandas as pd
brics = pd.read_csv("brics.csv", index_col = 0)

for lab, row in brics.iterrows(): print(lab + ": " + row["capital"])
BR: Brasilia
RU: Moscow
IN: New Delhi
CH: Beijing
SA: Pretoria
Intermediate Python

Add column

dfloop.py

import pandas as pd
brics = pd.read_csv("brics.csv", index_col = 0)

for lab, row in brics.iterrows() : # - Creating Series on every iteration brics.loc[lab, "name_length"] = len(row["country"])
print(brics)
         country    capital    area  population  name_length
BR        Brazil   Brasilia   8.516      200.40            6
RU        Russia     Moscow  17.100      143.50            6
IN         India  New Delhi   3.286     1252.00            5
CH         China    Beijing   9.597     1357.00            5
SA  South Africa   Pretoria   1.221       52.98           12
Intermediate Python

apply

dfloop.py

import pandas as pd
brics = pd.read_csv("brics.csv", index_col = 0)

brics["name_length"] = brics["country"].apply(len)
print(brics)
         country    capital    area  population  name_length
BR        Brazil   Brasilia   8.516      200.40            6
RU        Russia     Moscow  17.100      143.50            6
IN         India  New Delhi   3.286     1252.00            5
CH         China    Beijing   9.597     1357.00            5
SA  South Africa   Pretoria   1.221       52.98           12
Intermediate Python

Let's practice!

Intermediate Python

Preparing Video For Download...