From 0049de3ff9dc93b3fdfe81b169c1ab32be39ab00 Mon Sep 17 00:00:00 2001 From: Rhitik Date: Fri, 27 Oct 2023 08:52:34 +0530 Subject: [PATCH 1/8] Solution for 511. --- .../0500-0599/0511.Game Play Analysis I/README.md | 15 +++++++++++++++ .../0511.Game Play Analysis I/README_EN.md | 15 +++++++++++++++ .../0511.Game Play Analysis I/Solution.py | 9 +++++++++ 3 files changed, 39 insertions(+) create mode 100644 solution/0500-0599/0511.Game Play Analysis I/Solution.py diff --git a/solution/0500-0599/0511.Game Play Analysis I/README.md b/solution/0500-0599/0511.Game Play Analysis I/README.md index 5ca0090658796..67a127298ceb5 100644 --- a/solution/0500-0599/0511.Game Play Analysis I/README.md +++ b/solution/0500-0599/0511.Game Play Analysis I/README.md @@ -69,4 +69,19 @@ FROM Activity GROUP BY 1; ``` +### **Pandas** + +```python +import pandas as pd + + +def game_analysis(activity: pd.DataFrame) -> pd.DataFrame: + return ( + activity.groupby("player_id") + .agg(first_login=("event_date", "min")) + .reset_index() + ) + +``` + diff --git a/solution/0500-0599/0511.Game Play Analysis I/README_EN.md b/solution/0500-0599/0511.Game Play Analysis I/README_EN.md index 1b8d9388d0424..0780af95f1522 100644 --- a/solution/0500-0599/0511.Game Play Analysis I/README_EN.md +++ b/solution/0500-0599/0511.Game Play Analysis I/README_EN.md @@ -70,4 +70,19 @@ FROM Activity GROUP BY 1; ``` +### **Pandas** + +```python +import pandas as pd + + +def game_analysis(activity: pd.DataFrame) -> pd.DataFrame: + return ( + activity.groupby("player_id") + .agg(first_login=("event_date", "min")) + .reset_index() + ) + +``` + diff --git a/solution/0500-0599/0511.Game Play Analysis I/Solution.py b/solution/0500-0599/0511.Game Play Analysis I/Solution.py new file mode 100644 index 0000000000000..3d42f06ede95a --- /dev/null +++ b/solution/0500-0599/0511.Game Play Analysis I/Solution.py @@ -0,0 +1,9 @@ +import pandas as pd + + +def game_analysis(activity: pd.DataFrame) -> pd.DataFrame: + return ( + activity.groupby("player_id") + .agg(first_login=("event_date", "min")) + .reset_index() + ) From 58d0f05e01c486b363a26a45e515134656c15418 Mon Sep 17 00:00:00 2001 From: Rhitik Date: Fri, 27 Oct 2023 08:57:21 +0530 Subject: [PATCH 2/8] Solution for 550. --- .../0550.Game Play Analysis IV/README.md | 17 +++++++++++++++++ .../0550.Game Play Analysis IV/README_EN.md | 17 +++++++++++++++++ .../0550.Game Play Analysis IV/Solution.py | 11 +++++++++++ 3 files changed, 45 insertions(+) create mode 100644 solution/0500-0599/0550.Game Play Analysis IV/Solution.py diff --git a/solution/0500-0599/0550.Game Play Analysis IV/README.md b/solution/0500-0599/0550.Game Play Analysis IV/README.md index 2d748996035a1..6ff749005c789 100644 --- a/solution/0500-0599/0550.Game Play Analysis IV/README.md +++ b/solution/0500-0599/0550.Game Play Analysis IV/README.md @@ -107,4 +107,21 @@ FROM T WHERE rk = 1; ``` +### **pandas** + +```python +import pandas as pd + + +def gameplay_analysis(activity: pd.DataFrame) -> pd.DataFrame: + activity["first"] = activity.groupby("player_id").event_date.transform(min) + activity_2nd_day = activity.loc[ + activity["first"] + pd.DateOffset(1) == activity["event_date"] + ] + return pd.DataFrame( + {"fraction": [round(len(activity_2nd_day) / activity.player_id.nunique(), 2)]} + ) + +``` + diff --git a/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md b/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md index d26b4e381e0be..01fc9ee34de32 100644 --- a/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md +++ b/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md @@ -102,4 +102,21 @@ FROM T WHERE rk = 1; ``` +### **pandas** + +```python +import pandas as pd + + +def gameplay_analysis(activity: pd.DataFrame) -> pd.DataFrame: + activity["first"] = activity.groupby("player_id").event_date.transform(min) + activity_2nd_day = activity.loc[ + activity["first"] + pd.DateOffset(1) == activity["event_date"] + ] + return pd.DataFrame( + {"fraction": [round(len(activity_2nd_day) / activity.player_id.nunique(), 2)]} + ) + +``` + diff --git a/solution/0500-0599/0550.Game Play Analysis IV/Solution.py b/solution/0500-0599/0550.Game Play Analysis IV/Solution.py new file mode 100644 index 0000000000000..d59eb5b79eb33 --- /dev/null +++ b/solution/0500-0599/0550.Game Play Analysis IV/Solution.py @@ -0,0 +1,11 @@ +import pandas as pd + + +def gameplay_analysis(activity: pd.DataFrame) -> pd.DataFrame: + activity["first"] = activity.groupby("player_id").event_date.transform(min) + activity_2nd_day = activity.loc[ + activity["first"] + pd.DateOffset(1) == activity["event_date"] + ] + return pd.DataFrame( + {"fraction": [round(len(activity_2nd_day) / activity.player_id.nunique(), 2)]} + ) From c34f235c0c8ea3523903af2d32a855de03652afd Mon Sep 17 00:00:00 2001 From: Rhitik V Nimbalkar <74248352+nrhitik@users.noreply.github.com> Date: Fri, 27 Oct 2023 18:31:18 +0530 Subject: [PATCH 3/8] Update README.md --- solution/0500-0599/0550.Game Play Analysis IV/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/0500-0599/0550.Game Play Analysis IV/README.md b/solution/0500-0599/0550.Game Play Analysis IV/README.md index 6ff749005c789..4c19b86817b7e 100644 --- a/solution/0500-0599/0550.Game Play Analysis IV/README.md +++ b/solution/0500-0599/0550.Game Play Analysis IV/README.md @@ -107,7 +107,7 @@ FROM T WHERE rk = 1; ``` -### **pandas** +### **Pandas** ```python import pandas as pd From 6fb99bef1d36e36876911ff8d453345c369a077d Mon Sep 17 00:00:00 2001 From: Rhitik V Nimbalkar <74248352+nrhitik@users.noreply.github.com> Date: Fri, 27 Oct 2023 18:31:49 +0530 Subject: [PATCH 4/8] Update README_EN.md --- solution/0500-0599/0550.Game Play Analysis IV/README_EN.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md b/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md index 01fc9ee34de32..3049b7ecdd110 100644 --- a/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md +++ b/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md @@ -102,7 +102,7 @@ FROM T WHERE rk = 1; ``` -### **pandas** +### **Pandas** ```python import pandas as pd From 1c434019c5ea3ad187e6a9261941c39236e5d911 Mon Sep 17 00:00:00 2001 From: Rhitik V Nimbalkar <74248352+nrhitik@users.noreply.github.com> Date: Fri, 27 Oct 2023 18:35:39 +0530 Subject: [PATCH 5/8] Update Solution.py From 4f4b305b692c9606938bab1a7f26d2957b28c3fc Mon Sep 17 00:00:00 2001 From: Rhitik V Nimbalkar <74248352+nrhitik@users.noreply.github.com> Date: Fri, 27 Oct 2023 19:45:03 +0530 Subject: [PATCH 6/8] Update Solution.py --- solution/0500-0599/0550.Game Play Analysis IV/Solution.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/solution/0500-0599/0550.Game Play Analysis IV/Solution.py b/solution/0500-0599/0550.Game Play Analysis IV/Solution.py index d59eb5b79eb33..55b7634c5993b 100644 --- a/solution/0500-0599/0550.Game Play Analysis IV/Solution.py +++ b/solution/0500-0599/0550.Game Play Analysis IV/Solution.py @@ -3,9 +3,10 @@ def gameplay_analysis(activity: pd.DataFrame) -> pd.DataFrame: activity["first"] = activity.groupby("player_id").event_date.transform(min) - activity_2nd_day = activity.loc[ + activity_2nd_day = activity[ activity["first"] + pd.DateOffset(1) == activity["event_date"] ] + return pd.DataFrame( {"fraction": [round(len(activity_2nd_day) / activity.player_id.nunique(), 2)]} ) From 88d77cb009e91f64d957c9d13fdd96a17475282a Mon Sep 17 00:00:00 2001 From: Rhitik V Nimbalkar <74248352+nrhitik@users.noreply.github.com> Date: Fri, 27 Oct 2023 19:45:44 +0530 Subject: [PATCH 7/8] Update README_EN.md --- solution/0500-0599/0550.Game Play Analysis IV/README_EN.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md b/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md index 3049b7ecdd110..57134548853a8 100644 --- a/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md +++ b/solution/0500-0599/0550.Game Play Analysis IV/README_EN.md @@ -110,9 +110,10 @@ import pandas as pd def gameplay_analysis(activity: pd.DataFrame) -> pd.DataFrame: activity["first"] = activity.groupby("player_id").event_date.transform(min) - activity_2nd_day = activity.loc[ + activity_2nd_day = activity[ activity["first"] + pd.DateOffset(1) == activity["event_date"] ] + return pd.DataFrame( {"fraction": [round(len(activity_2nd_day) / activity.player_id.nunique(), 2)]} ) From ece36719d76fd1ad177be5048b9c3c073a0232c7 Mon Sep 17 00:00:00 2001 From: Rhitik V Nimbalkar <74248352+nrhitik@users.noreply.github.com> Date: Fri, 27 Oct 2023 19:46:21 +0530 Subject: [PATCH 8/8] Update README.md --- solution/0500-0599/0550.Game Play Analysis IV/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/solution/0500-0599/0550.Game Play Analysis IV/README.md b/solution/0500-0599/0550.Game Play Analysis IV/README.md index 4c19b86817b7e..0964a1fe0fd8b 100644 --- a/solution/0500-0599/0550.Game Play Analysis IV/README.md +++ b/solution/0500-0599/0550.Game Play Analysis IV/README.md @@ -115,9 +115,10 @@ import pandas as pd def gameplay_analysis(activity: pd.DataFrame) -> pd.DataFrame: activity["first"] = activity.groupby("player_id").event_date.transform(min) - activity_2nd_day = activity.loc[ + activity_2nd_day = activity[ activity["first"] + pd.DateOffset(1) == activity["event_date"] ] + return pd.DataFrame( {"fraction": [round(len(activity_2nd_day) / activity.player_id.nunique(), 2)]} )