python_pandas_7 - 8BitsCoding/RobotMentor GitHub Wiki

import pandas as pd

friends = [{'name': 'John', 'age': 15, 'job': 'student'},
            {'name': 'Ben', 'age': 25, 'job': 'delveloper'},
            {'name': 'Jenny', 'age': 30, 'job': 'teacher'}]

df = pd.DataFrame(friends, columns = ['name', 'age', 'job'])
df['salary'] = 0

์ƒˆ๋กœ์šด ์—ด์„ ์ถ”๊ฐ€

import numpy as np

df['salary'] = np.where(df['job'] != 'student', 'yes', 'no')

job์ด student๋ฉด salary๊ฐ€ no๋กœ ํ‘œ๊ธฐ

friends = [{'name': 'John', 'midtern': 95, 'final': 85},
            {'name': 'Ben', 'midtern': 85, 'final': 80},
            {'name': 'Jenny', 'midtern': 30, 'final': 10}]

df = pd.DataFrame(friends, columns = ['name', 'midtern', 'final'])
df['total'] = df['midtern'] + df['final']

total์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ์—ด์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์—ฐ์‚ฐ์„ ํ•œ๋‹ค.

df['average'] = df['total'] / 2
grades = []

for row in df['average']:
    if row >= 90:
        grades.append('A')
    elif row >= 80:
        grades.append('B')
    else:
        grades.append('F')

df['grade'] = grade

๋ฆฌ์ŠคํŠธ๋กค ํ†ตํ•ด์„œ ํ•™์ ์ฃผ๊ธฐ

def pass_or_fail(row):
    if row != 'F':
        return "Pass"
    else :
        return "Fail"
df.grade = df.grade.apply(pass_or_fail)

ํ•จ์ˆ˜๋„ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

data_list = [
    {
        'yyyy-mm-dd' : '2000-06-27'
    }.
    {
        'yyyy-mm-dd' : '2007-10-27'
    }
]

df = pd.DataFrame(data_list, columns = ['yyyy-mm-dd'])
def extrack_year(row):
    return row.split('-')[0]
df['year'] = df['yyyy-mm-dd'].apply(extrack_year)

๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ๊ธฐ์ค€์œผ๋กœ ํŒŒ์‹ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

friends = [{'name': 'John', 'midtern': 95, 'final': 85},
            {'name': 'Ben', 'midtern': 85, 'final': 80},
            {'name': 'Jenny', 'midtern': 30, 'final': 10}]

df = pd.DataFrame(friends, columns = ['name', 'midtern', 'final'])
df2 = pd.DataFrame([
    ['Ben', 50, 50]
], columns = ['name', 'midterm', 'final'])

์ƒˆ๋กœ์šด df2 Dataframe์„ ์ƒ์„ฑ

df.append(df2, ignore_index = True)

df, df2๋ฅผ ํ•ฉ์นœ๋‹ค.