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..0964a1fe0fd8b 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,22 @@ 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[ + 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..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 @@ -102,4 +102,22 @@ 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[ + 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..55b7634c5993b --- /dev/null +++ b/solution/0500-0599/0550.Game Play Analysis IV/Solution.py @@ -0,0 +1,12 @@ +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[ + activity["first"] + pd.DateOffset(1) == activity["event_date"] + ] + + return pd.DataFrame( + {"fraction": [round(len(activity_2nd_day) / activity.player_id.nunique(), 2)]} + )