모 그룹의 오디션 평점을 효율화하는 전자 표와 코드를 써 보았다.

5937 단어 Python3
안녕하십니까, 임 선생님입니다.
5월부터 내가 속한 무반주 동아리가 교내 무대 오디션의 계절을 맞았다.
우리 동아리에서는 무대 공연을 쟁탈하는 범위에서 학교 내에서 모든 동아리 구성원을 심사원으로 오디션을 본다.
예전에 동아리를 운영했던 간부들이 동아리 전원의 종이 매체 평점표를 합산한 결과 가장 높은 점수를 받은 여러 밴드가 그 공연 틀을 얻었다.
나도 4년 전에 간부로서 통계에 참여했지만, 이 일은 매우 효과가 없다.
• 계산기로 100장에 가까운 점수표를 수동으로 계산
• 계산 오류를 피하기 위해 3개 조로 나누어 모든 평점표를 계산한다
• 계산이 틀려도 최종 점수의 합계값에 따라 판단하기 때문에 어디가 틀렸는지 다시 1부터 계산한다
→합계 두세 시간이 걸려서 피곤하다.
이런 문제점이 있다.
2년 전 동아리 콘서트 때 엑셀로 표를 만들었는데 시간 단축은 가능하지만 몇 가지 개선점이 있어요
· 합계치에서 대조했지만 눈으로 오류를 추적했기 때문에 효율이 아직 낮다
• 가까스로 Excel을 사용하여 데이터화하였으나 잘 활용되지 않음
이러한 개선점이 있기 때문에 파이톤으로 데이터 대조와 득점을 시각화하고 싶어서 코드를 썼다.

먼저 스프레드시트를 만들겠습니다.


2년 전에도 했고, 다시 엑셀을 사용해 표 계산을 했다.
우리 그룹의 현황 평가 방식은
· 0-20점 범위 내에서 1명의 채점자가 모든 밴드에 대해 점수를 매긴다
· 자신이 속한 밴드에 대해 점수를 매길 수 없다
밴드 가산의 득점은
(가산점 - 그 사람의 점수표의 최소점) 계산
· 모든 채점자의 가산점을 최종 채점자의 수로 나누어 가치가 높은 밴드가 순위를 결정한다
이런 채점 방식을 채택하다.
테이블을 계산하는 데 사용할 스프레드시트를 만들었습니다.

각 줄의 평점자는 모든 밴드의 득점(0-20)과 자신만의 밴드에 대해'a'를 입력한다.
팀은 각 밴드에 따라 득점을 했고, 1행은 득점자의 색인에 따라 번호를 분배했다.

팀 오른쪽에는 각 채점자의 합계 점수와 최소 점수, 오디션을 본 주파수가 계산돼 있다.여기의 계수 방법은 1행에 밴드 이름이 있는지, 아니면 기입하지 않는지에 따라 판단된다.

표 하단에서 각 테이프의 점수의 합계치와 밴드 멤버의 수량('a'의 수량), 조정점, 실제 가산점의 합계 점수와 순위를 계산한다.
얻은 합계 점수를 실제 점수를 매긴 사람(스코어 수-밴드 멤버 수)으로 나누면 최종 점수를 받을 수 있다.
※ 조정점에 대해
원래는 한 명의 점수표를 겨냥하여 먼저 +몇 점을 쓴 다음에 각 밴드가 계산기로 가산점을 계산한 것이다
(밴드의 모든 채점자에 대한 점수의 합) - (모든 채점자의 최소 점수의 합은) 같지만 이렇게 하면 밴드 소속 인원의 최소 점수에 불필요한 감점을 받기 때문에'a'를 넣은 채점자의 최소 점수를 더해 정확하게 계산한다.
지난번 제작된 스프레드시트는 맥100명 정도만 대응할 수 있었고, 맥150명은 밴드 수도 27개 밴드로 확대됐다.
또 지난번에는 최종 득점자와 1점자의 합계가 잘못됐는지 확인했으나 가까스로 데이터화하자 프로그램 설계를 대조 판정하도록 해 파이톤으로 코드를 썼다.
또한 이 코드를 사용할 때의 전제 조건으로
・무효표를 사전에 취소해야 한다(0-20 이외의 점, 점수 누락 등)
・유효표의 정확한 인덱스
· 작업표에 적힌 밴드의 순서가 정확히 정렬 (2년 전 점수표에 밴드 이름이 미리 적힌 점수표를 나눠줬다)
만족을 표시하다.
투입의 절차로 삼다
· 당일 참석자와 채점표의 수량이 일치하는지 확인
· 무효한 채점표 취소
· 점수표에 번호를 매긴다(1...)
• PC 3대 준비, 각각 스프레드시트 준비
• 프로세스 작업의 순서에 따라 입력하여 표의 인덱스와 평점표의 번호를 일치시킨다
여기서 끝나는 단계에서 대조 판정을 한다.

수치 대조 판정을 하는 코드


사용하는 언어는 Python 3입니다.이것은 내가 연구에서도 사용한 적이 있는 가장 좋아하는 언어다.
먼저 입력이 끝난 Excel 파일을 csv 형식으로 내보냅니다.
이름이 저장되면 저장 형식을 csv로 지정합니다.

3명이 입력한 채점표 1∼3세트를 같은 디렉토리에 저장한다.
다음에 터미널을 열고 이 폴더로 이동합니다.

파이썬의 버전은 3.6.6이다.
numby와 matplotlib 등을 사용했습니다. 오류가 발생하면 언제든지 버전을 확인하십시오.
이 디렉토리의 체크입니다.py를 실행하면 대조를 진행할 수 있습니다.
채점표 1과 2, 3, 3, 1을 각각 대조하다.
모두 일치된 상황에서

이렇게 표시됩니다.
채점표를 몇 개 변경한 상황
채점 표 1의 csv 파일


이렇게 변경, 아까 체크.py를 실행해 보면

작업표 2, 3이 일치하여 1과 각자의 변경 부분을 보여 주었다.
확실히 7번째, 12번째, 13번째 각자의 밴드 파트가 뽑혔다.
이렇게 하면 입력 오류에 대한 대조를 한순간에 발견할 수 있다.
만약 틀렸다면 대응하는 번호의 점수표에서 서로의 값을 확인하면 해결할 수 있다.

데이터 시각화


어렵게 점수를 데이터화한 만큼 각 밴드의 모든 채점자의 가산점 직사각형을 시각화해 보려고 시도했다.
방금 3개의 csv 파일이 모두 일치했을 때, 모든 평점자의 직사각형과 각 구부러진 부분의 득점 직사각형을 출력합니다.
모든 평점의 직사각형

실제 득점의 직사각형으로 환산하다

각 밴드의 득점 직사각형

이런 느낌으로 모든 득점자의 득점 분포가 어떠한지, 자신의 득점 분포가 어떠한지
시각화에 따라 공연 틀과 띠는 점수의 차이가 얼마나 되는지, 어느 층을 나누어야 하는지에 대한 평어를 중시해서 개선해야 한다고 생각합니다.
그래서 개인적으로 밴드의 순위와 득점을 발표해야 한다고 생각합니다.(이제는 자기 밴드 이름만 발표하고 자기 밴드 순위와 점수만 알고 있다.)

점수표에 점수를 매기다


마지막으로 각 밴드는 점수표(점수자 평론 첨부)를 각 밴드에 나누어 맡기기 때문에 각자의 득점을 기입해야 하기 때문에 출력도 해야 한다.하나하나의 계산은 비효율적이다.
이것도 3개의 모든 전자 표가 같으면 출력하는 규격이다
score.txt에 토하다.

그리고 이 텍스트 파일을 토대로 실제 평점표에 +○점을 쓰면 된다.

총결산


황금연휴 동안 조부모님 모내기를 돕다가 문득 생각이 나서 코딩을 해봤어요.
앞으로 몇 차례 오디션이 있을 것 같은데, 향후 교내 오디션과 그룹 콘서트에서 기존의 채점 방식을 채택한다면 유용할 것 같다.관심 있으면 코드와 전자 표, 그리고 사용 방법을 알려주세요.내가 해도 될 것 같아서.
만약 누군가가 사용한다면 코드를 예쁘게 쓰지 못했기 때문에 앞으로의 확장과 가독성을 위해 시간이 있다면 팩스로 보내고 싶습니다.
나 자신도 귀찮아서 후배들이 프로그래밍, 스프레드시트 소프트웨어, IT 등을 통해 지금의 동아리가 됐으면 좋겠다.
그게 다야.

좋은 웹페이지 즐겨찾기