diff --git a/ActorsAndDirectorsWhoCooperatedAtLeastThreeTimes.py b/ActorsAndDirectorsWhoCooperatedAtLeastThreeTimes.py new file mode 100644 index 0000000..912178c --- /dev/null +++ b/ActorsAndDirectorsWhoCooperatedAtLeastThreeTimes.py @@ -0,0 +1,7 @@ +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 = 'count') + df = df[df['count'] >= 3] + return df[['actor_id' , 'director_id']] + \ No newline at end of file diff --git a/DailyLeadsAndPartners.py b/DailyLeadsAndPartners.py new file mode 100644 index 0000000..e279d69 --- /dev/null +++ b/DailyLeadsAndPartners.py @@ -0,0 +1,9 @@ +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 + \ No newline at end of file diff --git a/GroupSoldProductsByTheDate.py b/GroupSoldProductsByTheDate.py new file mode 100644 index 0000000..9232e1b --- /dev/null +++ b/GroupSoldProductsByTheDate.py @@ -0,0 +1,8 @@ +import pandas as pd + +def categorize_products(activities: pd.DataFrame) -> pd.DataFrame: + groups = activities.groupby('sell_date').agg( + num_sold = ('product' , 'nunique'), + products = ('product', lambda x : ','.join(sorted(set(x)))) + ).reset_index() + return groups.sort_values(by = ['sell_date']) \ No newline at end of file