05_Pandas

05-1_연습문제_student_alchol_consumption

chuuvelop 2025. 3. 6. 21:30
728x90
import pandas as pd

문제1. student-mat.csv 데이터 읽어오기

sm = pd.read_csv("./data/student-mat.csv")

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