import pandas as pd
import numpy as np
from pandas import Series
from pandas import DataFrame

date_list = [{'date': '2000-06-27'},
         {'date': '2002-09-24'},
         {'date': '2005-12-20'}]

df = pd.DataFrame(date_list, columns = ['date'])

df
         date
0  2000-06-27
1  2002-09-24
2  2005-12-20
def extract_year(date):
    return date.split('-')[0]

df['year'] = df['date'].map(extract_year)
df
         date  year
0  2000-06-27  2000
1  2002-09-24  2002
2  2005-12-20  2005
job_list = [{'age': 20, 'job': 'student'},
         {'age': 30, 'job': 'developer'},
         {'age': 30, 'job': 'teacher'}]

df = pd.DataFrame(job_list)

df
   age        job
0   20    student
1   30  developer
2   30    teacher

map 함수를 이용해 값 바꾸기

df.job = df.job.map({"student":1,"developer":2,"teacher":3})
df
   age  job
0   20    1
1   30    2
2   30    3

이처럼 map 함수는 apply처럼 컬럼을 변경시킬 수 있고 딕셔너리를 직접 전달해 변경할 수도 있다.


applymap

import pandas as pd
import numpy as np
from pandas import Series
from pandas import DataFrame

x_y = [{'x': 5.5, 'y': -5.6},
         {'x': -5.2, 'y': 5.5},
         {'x': -1.6, 'y': -4.5}]

df = pd.DataFrame(x_y)

df
     x    y
0  5.5 -5.6
1 -5.2  5.5
2 -1.6 -4.5

하나의 컬럼이 아닌 모든 컬럼을 변경하고 싶을 때 사용한다.

df = df.applymap(np.around)
df
     x    y
0  6.0 -6.0
1 -5.0  6.0
2 -2.0 -4.0