1. 필요한 librarie들을 import 하세요.
import pandas as pd
import numpy as np
2. 다음 주소의 dataset을 import 하세요.
url = "https://raw.githubusercontent.com/myoh0623/dataset/main/student-mat.csv"
3. df라는 변수에 DataFrame을 할당하세요..
df = pd.read_csv(url)
df.head()
4. school"부터 "guardian"까지 DataFrame을 슬라이싱 하여 stud_alcoh에 할당하세요. 단 "guardian" column이 포함되어야 합니다.
stud_alcoh = df.loc[:, 'school':'guardian']
5. 문자열의 앞글자를 대문자로 변경해주는 lambda 함수 또는 함수를 만드세요.
capitalizer = lambda x:x.capitalize()
capitalizer("hello world")
6. Mjob 와 Fjob column에 step5 에서 만든 function을 적용하고 원래 stud_alcoh DataFrame에 적용하세요.
stud_alcoh.Mjob = stud_alcoh.Mjob.apply(capitalizer)
stud_alcoh.Fjob = stud_alcoh.Fjob.apply(capitalizer)
stud_alcoh.head()
7. legal_drinker 라는 Column을 만들고 다음과 같은 내용을 추가 합니다.
stud_alcoh['legal_drinker'] = df['age'] >= 18
<심화>
def legal_drinker(x) :
if x>= 18 :
return True
else :
return False
stud_alcoh["legal_drinker"] = stud_alcoh.age.apply(legal_drinker)
8. 숫자로 된 dataset에 10을 곱하세요.
def times_10(x):
if type(x) is int:
return 10*x
else :
return x
stud_alcoh.map(times_10)
- apply는 한 줄에만 적용 가능
- map을 이용하면 전체 적용 가능
# 참고
stud_alcoh.dtypes =="int64"
numeric_columns = stud_alcoh.select_dtypes(include='number').columns
stud_alcoh[numeric_columns] = stud_alcoh[numeric_columns] * 10
'데이터의 가능성 > pandas' 카테고리의 다른 글
05_Time_Series_Apple_Stock_Exercises (0) | 2024.06.24 |
---|---|
04_Apply_US_Crime_Rates_Exercises (0) | 2024.06.24 |
03_Grouping_Regiment_Exercises (0) | 2024.06.20 |
03_Grouping_Alcohol_Consumption (0) | 2024.06.18 |
02_Filtering_&_Sorting_Fictional Army (1) | 2024.06.17 |