728x90
import pandas as pd
문제1. student-mat.csv 데이터 읽어오기
sm = pd.read_csv("./data/student-mat.csv")
sm.head()
문제2. 데이터프레임의 school열부터 guardian열까지 추출
# sm = sm.iloc[0:5, 0:12]
# df.loc[행, 열]
sm = sm.loc[:, "school":"guardian"]
sm.head()
sm = sm.iloc[:, :12]
sm
문제3. 문자열 데이터를 입력 받고 capitalize() 메소드를 적용하는 capitalizer 함수 정의
def capitalizer(chastr):
return chastr.capitalize()
문제4. Mjob과 Fjob열에 capitalizer 함수 적용된 결과 출력
# sm["Mjob"] = sm["Mjob"].map(capitalizer)
# sm["Fjob"] = sm["Fjob"].map(capitalizer)
sm[["Mjob", "Fjob"]].map(capitalizer)
sm
sm[["Mjob", "Fjob"]].map(lambda text: text.capitalize())
문제5. age가 17을 초과하는지 여부를 True, False로 표현하는 legal_drinker 열 생성
def majority(x):
return x > 17
sm["legal_drinker"] = sm["age"].map(majority)
sm.head()
# sm["legal_drinker"] = sm["age"].map(lambda x: True if x > 17 else False)
sm["legal_drinker"] = sm["age"].map(lambda x: x > 17)
sm
문제6. int타입의 데이터에만 10을 곱하기
def times10(x):
if type(x) == int:
return 10 * x
else:
return x
sm.map(times10)
sm.map(lambda x: 10 * x if type(x) == int else x)
728x90
'05_Pandas' 카테고리의 다른 글
05-3_연습문제_Fictional_Army (1) | 2025.03.06 |
---|---|
05-2_연습문제_euro2012 (0) | 2025.03.06 |
05_데이터프레임 응용 (0) | 2025.03.06 |
04-1_연습문제_iris (0) | 2025.03.06 |
04_데이터 전처리 (1) | 2025.03.06 |