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)
- 코드 주석과 정리: 코드 주석은 코드의 각 부분이 무엇을 하는지 잘 설명해야 이해가 쉽습니다. 특히, 추가적으로 주석을 통해 의도를 명확히 하면 좋습니다.
아래 유사한 질문에 대한 링크도 참조해 보시면 더욱 도움이 될 것입니다:
제가 드린 제안대로 코드를 약간 수정하시면 나중에 유지보수가 용이하고, 더 다양한 데이터셋에 적응하기 쉬운 코드가 될 것입니다.
저는 이선희님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
뒤로가기 버튼 같은 것이 있나요?
0
28
1
강의 연장 문의
0
32
1
출력값 질문
0
31
2
수업노트가 어디에 있나요?
0
29
1
실기시험 제출관련
0
160
2
6.20 작업형 2 과적합
0
169
3
코딩팡 장업형2 베이스 라인 인코딩 종류 질문
0
52
2
로지스틱회귀, 회귀
0
52
2
회귀 문제를 풀때 질문입니다.
0
59
1
불균형 처리 후 성능이 더 낮아졌다면,
0
66
2
실기 체험 제2유형 에러 문의
0
66
1
LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요
0
52
2
3번문제 등분산 가정
0
50
2
작업형3 target 형 변환 질문
0
38
2
[작업형1] 연습문제 섹션1 ~ 10 의 section4
0
40
3
원핫인코딩과 레이블 인코딩에서 concat
0
62
2
제2유형 질문입니다.
0
49
2
C()
0
44
2
작업형 2에서 strafity 적용 유무
0
53
2
수강 기간 연장 가능 여부 문의드립니다.
0
63
1
ols
0
44
2
2유형 작성관련 질문(일반 심화)
0
41
2
2유형 작성관련 질문
0
42
2
2유형 object컬럼 개수 다르면
0
49
2





