6회기출 작업형 1을 저는 이런 코드로 풀어봤는데요
강의를 듣기전에 혼자 풀어보고 그러고 있는데 저는 아래와 같이 코드를 짜서 풀었는데
일단 답은 나오는데 이런식으로 앞으로 풀면 나중에 문제를 헤쳐나가기에 어느부분이 부족할까요
정말 단순하게 생각하고 짜본 코드입니다. ㅜ
import pandas as pd
df=pd.read_csv("data6-1-2.csv")
df['학생전체']=df['1학년']+df['2학년']+df['3학년']+df['4학년']+df['5학년']+df['6학년']
#학생전체/교사수(교사한명당)
df['교사한명당']=df['학생전체']/df['교사수']
df.sort_values('교사한명당',ascending=False)
#re=df.groupby("학교명")["교사수"].sum()
#re.sort_values()
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 이선희님.
백도어 데이터 분석기사 실기 문제를 직접 풀어보셨군요! 코드가 제대로 동작하여 결과를 얻으셨다면, 이미 잘 해내신 것입니다. 그럼에도 불구하고 더 나은 방법이 있을 수 있어서 몇 가지 개선점을 제안드리겠습니다:
- 컬럼 선택 자동화: 현재 학년별 학생 수를 더할 때, 하드코딩으로 컬럼을 지정하고 있으신데요. 컬럼명이 변경되거나 추가될 경우 문제가 될 수 있습니다.
filter메서드를 사용하여 ‘학년’이라는 키워드가 포함된 컬럼을 선택할 수 있습니다.
df['학생전체'] = df.filter(like='학년').sum(axis=1)
연산 신뢰성 개선: 나눗셈 연산에서는 0으로 나누는 경우를 주의하셔야 합니다.
'교사수'가 0인 경우를 대비하여 체크를 추가하는 것이 좋습니다.결과 저장: 현재
sort_values로 정렬한 결과를 변수에 저장하지 않으셨습니다. 결과를 저장해두어 후속 처리에 활용할 수 있도록 하는 것이 좋습니다.
sorted_df = df.sort_values('교사한명당', ascending=False)
print(sorted_df)
- 코드 주석과 정리: 코드 주석은 코드의 각 부분이 무엇을 하는지 잘 설명해야 이해가 쉽습니다. 특히, 추가적으로 주석을 통해 의도를 명확히 하면 좋습니다.
아래 유사한 질문에 대한 링크도 참조해 보시면 더욱 도움이 될 것입니다:
제가 드린 제안대로 코드를 약간 수정하시면 나중에 유지보수가 용이하고, 더 다양한 데이터셋에 적응하기 쉬운 코드가 될 것입니다.
저는 이선희님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
1유형 강의 다 나간 후 어떻게 할까요?
0
13
1
점수차가 많이 나는데 따로 하신게 있으신가요?
0
10
1
작업형1 모의문제 4번에 3)문제 질문
0
21
2
이상치 전처리 작업
0
25
2
평가결과값 문의
0
29
2
시계열 데이터 날짜와 시간 format
0
35
2
평가지표 F1 스코어 질문드립니다.
0
27
2
작업형 2 기출7회분에서
0
38
2
작업형2 모의문제1 (30강)
0
34
2
수강 기간 연장 문의 드립니다.
0
42
2
수강 계획과 관련해 문의 드립니다.
0
30
2
작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?
0
50
2
작업형 1 -연습문제 4-6
0
38
2
작업형 1 유형 부분
0
42
2
작업형 1 (삭제예정, 구 버전)
0
51
2
수강기간 연장 문의드립니다.
0
38
2
2유형 레이블 인코딩 VS 원핫 인코딩
0
37
3
수강기간 연장 문의드립니다.
0
44
2
인덱스 슬라이싱
0
37
2
질문 드립니다.
0
50
2
강의 내용 관련 질문드립니다~
0
46
2
수강 연장 문의
0
63
2
강의자료 일괄 다운로드
0
62
2
수강기간 연장 문의드립니다
0
48
2





