Table: Followers
+-------------+------+
| Column Name | Type |
+-------------+------+
| user_id | int |
| follower_id | int |
+-------------+------+
(user_id, follower_id)는 이 테이블의 기본 키(고유 값이 있는 열 조합)입니다. 이 테이블은 소셜 미디어 앱에서 팔로워가 사용자를 팔로우하는 관계를 나타내는 사용자 ID와 팔로워 ID를 포함하고 있습니다.
문제
각 사용자에 대해 팔로워 수를 반환하는 솔루션을 작성하세요.
결과 테이블은 user_id를 기준으로 오름차순으로 정렬되어야 합니다.
Example 1:
Input:
Followers table:
+---------+-------------+
| user_id | follower_id |
+---------+-------------+
| 0 | 1 |
| 1 | 0 |
| 2 | 0 |
| 2 | 1 |
+---------+-------------+
Output:
+---------+----------------+
| user_id | followers_count|
+---------+----------------+
| 0 | 1 |
| 1 | 1 |
| 2 | 2 |
+---------+----------------+
설명 : 0의 팔로워는 {1}입니다.
1의 팔로워는 {0}입니다.
2의 팔로워는 {0, 1}입니다.
✏️ 풀이
import pandas as pd
def count_followers(followers: pd.DataFrame) -> pd.DataFrame:
result = followers.groupby(['user_id']).size().reset_index(name='followers_count')
return result
📚 개념정리
count() 와 size() 차이점
count() : NaN은 제외하고 계산
size() : NaN도 포함해서 계산