import pandas as pd df = pd.read_csv('data/enrolment_2.csv') df['room assignment'] = None numbers = df['course name'].value_counts() j=0 dict_1 = {} dict_value = list(numbers.index) for i in numbers: dict_1[dict_value[j]]= i j+=1 # print(dict_1) for key,value in dict_1.items(): if value >= 80 : df.loc[df['course name']==key , 'room assignment'] =' Auditorium' elif value>=40 and value<80: df.loc[df['course name']==key , 'room assignment'] ='Large room' elif value>=15 and value<40: df.loc[df['course name']==key , 'room assignment'] ='Medium room' elif value>=5 and value<15: df.loc[df['course name']==key , 'room assignment'] ='Small room' df.loc[df['status']=='not allowed','room assignment']= 'not assigned' df 어찌 어찌해서 이해가 되었고 답을 풀었습니다. 감사합니다.
+0
2019년 4월 7일
네 `df.loc[]`함수로 boolean indexing을 하실때는 보통 `df`의 인덱스와 boolean array/Series의 인덱스가 매칭이 되어야 합니다. ([이 문제](https://www.codeit.kr/questions/5712) 도 비슷한 문제였습니다)
댓글 2개