728x90
테이블 생성 코드
data = [[6, 'Alice'], [2, 'Bob'], [7, 'Alex']]
users = pd.DataFrame(data, columns=['user_id', 'user_name']).astype({'user_id':'Int64', 'user_name':'object'})
data = [[215, 6], [209, 2], [208, 2], [210, 6], [208, 6], [209, 7], [209, 6], [215, 7], [208, 7], [210, 2], [207, 2], [210, 7]]
register = pd.DataFrame(data, columns=['contest_id', 'user_id']).astype({'contest_id':'Int64', 'user_id':'Int64'})
문제
해결코드
import pandas as pd
def users_percentage(users: pd.DataFrame, register: pd.DataFrame) -> pd.DataFrame:
df = register.groupby('contest_id', as_index=False).agg(count=('user_id','nunique'))
df['percentage'] = df['count']/len(users)*100
return df[['contest_id','percentage']].sort_values(by=['percentage', 'contest_id'], ascending=[False, True]).round(2)
해설
728x90
'• data analysis > PYTHON' 카테고리의 다른 글
595. Big Countries (0) | 2024.02.29 |
---|---|
1667. Fix Names in a Table (0) | 2024.02.27 |
1075. Project Employees I (0) | 2024.02.26 |
610. Triangle Judgement (0) | 2024.02.24 |
1068. Product Sales Analysis I (0) | 2024.02.22 |