9  Pandas by CMS 1

Pandas Tutorial by Corey Schafer

import pandas as pd
16
score = 100
Grade A
def functionName(argument):
    pass
def grade(score):
    if score < 50 :
        return "Fail"
    elif score < 80:
        return "Grade C"
    elif score < 90: 
        return "Grade B"
    else:   
        return "Grade A"
student_scores = {
    "Tom": 40,
    "Jerry": 60,
    "Spike": 90,
}

student_scores
{'Tom': 40, 'Jerry': 60, 'Spike': 90}
grade(student_scores["Tom"])
grade(student_scores["Jerry"])
'Grade C'
for student, score in student_scores.items():
    print(f"{student}: {grade(score)}")
Tom: Fail
Jerry: Grade C
Spike: Grade A
people = {
    "first": ["Corey", 'Jane', 'John'], 
    "last": ["Schafer", 'Doe', 'Doe'], 
    "email": ["CoreyMSchafer@gmail.com", 'JaneDoe@email.com', 'JohnDoe@email.com']
}
df = pd.DataFrame(people)
df
first last email
0 Corey Schafer CoreyMSchafer@gmail.com
1 Jane Doe JaneDoe@email.com
2 John Doe JohnDoe@email.com

9.1 Location

df.loc[[0, 1], ['email', 'last']]
email last
0 CoreyMSchafer@gmail.com Schafer
1 JaneDoe@email.com Doe

9.2 Index

df = df.set_index("first")
df
last email
first
Corey Schafer CoreyMSchafer@gmail.com
Jane Doe JaneDoe@email.com
John Doe JohnDoe@email.com
df.loc["Corey"] # Search by Index (rows)
last                     Schafer
email    CoreyMSchafer@gmail.com
Name: Corey, dtype: object
df.iloc[0] # Integer location 
last                     Schafer
email    CoreyMSchafer@gmail.com
Name: Corey, dtype: object

9.3 Filter

df["last"] == "Doe" # Series
first
Corey    False
Jane      True
John      True
Name: last, dtype: bool
df[df["last"] == "Doe"]
last email
first
Jane Doe JaneDoe@email.com
John Doe JohnDoe@email.com

9.4 Rename

df.columns
Index(['last', 'email'], dtype='object')
df.columns = ["last_name", "email"]
df.columns
Index(['last_name', 'email'], dtype='object')
# To Upper
df.columns = [x.upper() for x in df.columns]
df.columns
Index(['LAST_NAME', 'EMAIL'], dtype='object')
df = df.rename(columns={"LAST_NAME": "last"})
df.columns
Index(['last', 'EMAIL'], dtype='object')
df
last EMAIL
first
Corey Schafer CoreyMSchafer@gmail.com
Jane Doe JaneDoe@email.com
John Doe JohnDoe@email.com
df.loc["Jane"]
last                   Doe
EMAIL    JaneDoe@email.com
Name: Jane, dtype: object