From e2abc83799fe8e983d33c152375436897fb00582 Mon Sep 17 00:00:00 2001 From: Kedar Kulkarni Date: Fri, 24 May 2024 18:48:28 -0700 Subject: [PATCH] Pandas10 Completed --- Pandas10 Combined.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Pandas10 Combined.py diff --git a/Pandas10 Combined.py b/Pandas10 Combined.py new file mode 100644 index 0000000..868017b --- /dev/null +++ b/Pandas10 Combined.py @@ -0,0 +1,34 @@ +# Pandas10 + +# 1 Problem 1 : Group Sold Products by the Date (https://leetcode.com/problems/group-sold-products-by-the-date/) + +import pandas as pd + +def categorize_products(activities: pd.DataFrame) -> pd.DataFrame: + groups = activities.groupby(['sell_date']) + result = groups.agg( + num_sold = ('product', 'nunique'), + products = ('product', lambda x:','.join(sorted(set(x)))) + ).reset_index() + result.sort_values(by =['sell_date'], inplace = True) + return result + +# 2 Problem 2 : Daily Leads and Partners ( https://leetcode.com/problems/daily-leads-and-partners/ ) + +import pandas as pd + +def daily_leads_and_partners(daily_sales: pd.DataFrame) -> pd.DataFrame: + df = daily_sales.groupby(['date_id','make_name']).agg( + unique_leads = ('lead_id', 'nunique'), + unique_partners = ('partner_id','nunique') + ).reset_index() + return df + +# 3 Problem 3 : Actors and Directors who Cooperated At Least Three Times (https://leetcode.com/problems/actors-and-directors-who-cooperated-at-least-three-times/) + +import pandas as pd + +def actors_and_directors(actor_director: pd.DataFrame) -> pd.DataFrame: + df = actor_director.groupby(['actor_id','director_id']).size().reset_index(name = 'cnt') + df = df[df['cnt']>=3] + return df[['actor_id','director_id']] \ No newline at end of file