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처럼 컬럼을 변경시킬 수 있고 딕셔너리를 직접 전달해 변경할 수도 있다.
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