SQL/코딩테스트

[python] leetcode 집계함수 문제

무던히 하다보면 느는 2025. 4. 18. 12:27

Customers Who Never Order

Write a solution to find all customers who never order anything.

Return the result table in any order.

The result format is in the following example.

 

result = customers[~customers['id'].isin(orders['customerId])][['name]]
result = result.rename(columns={'name':'Customers'})

 

[Input]

id name
1 Joe
2 Henry
3 Sam
4 Max

Customers table 

id customerId
1 3
2 1

Orders table

[Output]

Customers
Henry
Max

 

User Activity for the Past 30 Days 1

activity['activity_date'] = pd.to_datetime(activity['activity_date'])

<< 날짜 형식으로 미리 형변환해주기

end_date = pd.to_datetime('2019-07-27')

start_date = end_date - pd.Timedelta(days=29)

 

recent = activity[

       (activity['activity_date'] >= start_date) &

       (activity['activity_date'] <= end_date)

]

 

result = recent.groupby('activity_date')['user_id'].nunique().reset_index()

result.columns = ['day','active_users']

 

Article Views 1

same = views[(views['author_id']) == (views['viewer_id'])]
result = pd.DataFrame(None)
result['id'] = same['author_id'].unique()
result = result.sort_values(by='id', ascending=True).reset_index(drop=True)
 

Actors and Directors Who Cooperated At Least Three Times

ad.groupby(['actor_id', 'director_id'])
    .size()
    .reset_index(name='count')
    .query('count >= 3')
    .drop(columns='count')