From df628524cf355146af8b37a9619a0a3990b24842 Mon Sep 17 00:00:00 2001 From: Dhruv Parashar Date: Sun, 15 Jun 2025 12:46:53 -0400 Subject: [PATCH] Done Pandas10 --- ...s and Directors who Cooperated At Least Three Times | 7 +++++++ Daily Leads and Partners | 7 +++++++ Group Sold Products by the Date | 10 ++++++++++ 3 files changed, 24 insertions(+) create mode 100644 Actors and Directors who Cooperated At Least Three Times create mode 100644 Daily Leads and Partners create mode 100644 Group Sold Products by the Date diff --git a/Actors and Directors who Cooperated At Least Three Times b/Actors and Directors who Cooperated At Least Three Times new file mode 100644 index 0000000..829d4ca --- /dev/null +++ b/Actors and Directors who Cooperated At Least Three Times @@ -0,0 +1,7 @@ +import pandas as pd + +def actors_and_directors(actor_director: pd.DataFrame) -> pd.DataFrame: + num_unique = actor_director.groupby(['actor_id', 'director_id']).count().reset_index() + num_unique = num_unique[num_unique['timestamp'] >= 3] + + return num_unique[['actor_id', 'director_id']] \ No newline at end of file diff --git a/Daily Leads and Partners b/Daily Leads and Partners new file mode 100644 index 0000000..dc3839b --- /dev/null +++ b/Daily Leads and Partners @@ -0,0 +1,7 @@ +import pandas as pd + +def daily_leads_and_partners(daily_sales: pd.DataFrame) -> pd.DataFrame: + + num_unique = daily_sales.groupby(['date_id', 'make_name']).nunique().reset_index() + + return num_unique[['date_id', 'make_name', 'lead_id', 'partner_id']].rename(columns = {'lead_id' : 'unique_leads', 'partner_id' : 'unique_partners'}) \ No newline at end of file diff --git a/Group Sold Products by the Date b/Group Sold Products by the Date new file mode 100644 index 0000000..b822e3e --- /dev/null +++ b/Group Sold Products by the Date @@ -0,0 +1,10 @@ +import pandas as pd + +def categorize_products(activities: pd.DataFrame) -> pd.DataFrame: + groups = activities.groupby(['sell_date']) + + stats = groups.agg(num_sold=('product', 'nunique'), products=('product', lambda x: ','.join(sorted(set(x))))).reset_index() + + stats.sort_values('sell_date', inplace= True) + + return stats \ No newline at end of file