각주는 문제, 코드는 예시 답변.
CSV 파일을 열 때 내용이 깨지는 경우가 몇 번 있어서 txt 파일도 첨부했어요…
# 각 줄마다 이름, 성, 생일년도 가 적힌 csv 파일이 있다. 이 파일을 읽어 chart라는 데이터프레임을 만들어라
chart = pd.read_csv("인적사항.csv")
print(chart)
# "생일년도" 열에 비어있는 값이 있다. chart와 동일하지만 비어있는 값이 1980.0로 채워진 fullChart 데이터프레임을 만들고 출력하라
fullChart = chart.fillna(1980.0)
print(fullChart)
# fullChart의 "생일년도" 열에 저장된 고유값들을 출력하라
print(fullChart["생일년도"].unique())
# apply() 함수를 이용하여 fullChart의 "생일년도" 자료형을 정수로 바꾼 뒤, 출력하라
fullChart["생일년도"] = fullChart["생일년도"].apply(int)
print(fullChart)
# applymap()을 이용하여 fullChart 각 열에 저장된 정보의 자료형이 무엇인지 알려주는 데이터프레임 chartDataType을 만들고 다음처럼 출력하라
# 이름 성별 생일년도
# 0 <class 'str'> <class 'str'> <class 'int'>
chartDataType = fullChart[:1].applymap(lambda x : type(x))
print(chartDataType)
# map() 함수를 이용하여 fullChart의 "성별" 열에 man을 "남", woman을 "여"로 바꾼 뒤 출력하라
fullChart["성별"] = fullChart["성별"].map({"man": "남", "woman":"여"})
print(fullChart)
# fullChart에서 남, 여가 각각 몇 명 있는지 출력하여라
print(fullChart['성별'].value_counts())
import pandas as pd
student_list = [{'name': 'John', 'major': "Computer Science", 'sex': "male"},
{'name': 'Nate', 'major': "Computer Science", 'sex': "male"},
{'name': 'Abraham', 'major': "Physics", 'sex': "male"},
{'name': 'Brian', 'major': "Psychology", 'sex': "male"},
{'name': 'Janny', 'major': "Economics", 'sex': "female"},
{'name': 'Yuna', 'major': "Economics", 'sex': "female"},
{'name': 'Jeniffer', 'major': "Computer Science", 'sex': "female"},
{'name': 'Edward', 'major': "Computer Science", 'sex': "male"},
{'name': 'Zara', 'major': "Psychology", 'sex': "female"},
{'name': 'Wendy', 'major': "Economics", 'sex': "female"},
{'name': 'Sera', 'major': "Psychology", 'sex': "female"}]
df = pd.DataFrame(student_list)
major_group = df.groupby('major')
major_dict = {}
num = 0
for name, group in major_group:
major_dict[name] = num
num += 1
df['major'] = df['major'].map(major_dict)