"""
### 'f4'컬럼의 값이 'ESFJ'인 데이터를 'ISFJ'로 대체하고, 'city'가 '경기'이면서 'f4'가 'ISFJ'인 데이터 중 'age'컬럼의 최대값을 출력하시오!
- 데이터셋 : basic1.csv
- 오른쪽 상단 copy&edit 클릭 -> 예상문제 풀이 시작
"""
# 라이브러리 및 데이터 불러오기
import pandas as pd
import numpy as np

df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv', engine='python')
df.head()
# ESFJ 값을 가진 데이터 확인
df[df['f4'] == 'ESFJ'] # 5 obs in total
# ISFJ 값을 가진 데이터도 확인
df[df['f4'] == 'ISFJ'] # 10 obs in total
# 값 변경하기
# use 'replace' method of pandas
df = df.replace('ESFJ', 'ISFJ')
df[df['f4'] == 'ESFJ']
print(len(df[df['f4'] == 'ISFJ'])) # should be 15
df[df['f4'] == 'ISFJ']
# 2개의 조건에 맞는 값중 age컬럼의 최대값
print(np.max(df[(df['city'] == '경기') & (df['f4'] == 'ISFJ')]['age']))
"""
## Hint
"""
# 값 변경하기
import pandas as pd
data = pd.DataFrame([0, 1, 0, 1, 0])
data = data.replace(0, 2)
data
"""
## 풀이
"""
# 라이브러리 및 데이터 불러오기
import pandas as pd
import numpy as np

df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv')
df.head(2)
# ESFJ 값을 가진 데이터 확인
df[df['f4'] == 'ESFJ']
# 값 변경하기
df['f4'] = df['f4'].replace('ESFJ', 'ISFJ')
# ESFJ 값을 가진 데이터 확인
df[df['f4'] == 'ESFJ']
# 2개의 조건에 맞는 값
df[(df['f4'] == 'ISFJ') & (df['city'] == '경기')]
# 2개의 조건에 맞는 값중 age컬럼의 최대값
df[(df['f4'] == 'ISFJ') & (df['city'] == '경기')]['age'].max()