2017-03-28 3 views
0

나는 학생의 ID, 코스 ID, 시도한 용어 및받은 등급을 나열한 팬더 데이터 프레임을 가지고 있습니다. 내가 그들의 성적을 분석 및 과정을 반복하여 개선 학생들 여부에 관심이팬더 데이터 프레임에 반복 카운트 열 추가.

Student ID  Course ID Academic Term Final Grade 
N99999   MAT101  201501   2.0 
N99999   MAT101  201509   2.5 
N11111   CHE101  201609   3.0 
N11111   PSY101  201601   0.0 
N11111   PSY101  201701   2.0   

: 그것은 일종의처럼 보인다. 이렇게하려면

, 나는 등 각각의 결합 과정 및 ID 번호에 대한 가장 낮은 용어 값을 가진 행이 하나를 얻을 것 인 '시도'열, 2 다음,

Student ID  Course ID Academic Term Final Grade Attempt 
N99999   MAT101  201501   2.0   1 
N99999   MAT101  201509   2.5   2 
N11111   CHE101  201609   3.0   1 
N11111   PSY101  201601   0.0   1 
N11111   PSY101  201701   2.0   2 
을 추가하고 싶습니다

어떻게해야합니까?

감사합니다.

답변

3

표준 파티션을 찾는 것처럼 보입니다. 이 작업을 수행하는 데는 여러 가지 방법이 있지만 다음과 같이 수행했습니다. (나는/데이터의 일부를 응축 변경된 주) 다음을 시도해보십시오

df 

출력 :

student_id course_id academic_term final_grade 
0  n999 mat101  201501   2.0 
1  n999 mat101  201509   2.5 
2  n111 che101  201609   3.0 
3  n111 psy101  201601   0.0 
4  n111 psy101  201701   2.0 

입력

df['attempt'] = df.sort_values('academic_term').groupby(['student_id', 'course_id'], sort=False).cumcount()+1 

출력 :

student_id course_id academic_term final_grade attempt 
0  n999 mat101  201501   2.0  1 
1  n999 mat101  201509   2.5  2 
2  n111 che101  201609   3.0  1 
3  n111 psy101  201601   0.0  1 
4  n111 psy101  201701   2.0  2 
관련 문제