add analysis
This commit is contained in:
parent
5e11a80b79
commit
b3a5ba543e
2 changed files with 125 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.venv
|
124
summary.ipynb
Normal file
124
summary.ipynb
Normal file
|
@ -0,0 +1,124 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"from datetime import datetime, timezone, timedelta\n",
|
||||
"import pytz\n",
|
||||
"\n",
|
||||
"with open(\"data/output.csv\", \"rb\") as f:\n",
|
||||
" data = pd.read_csv(f, delimiter=\"\\t\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Time Played\n",
|
||||
"2024-03-04 30\n",
|
||||
"2024-05-01 26\n",
|
||||
"2024-04-13 26\n",
|
||||
"2024-04-25 25\n",
|
||||
"2024-04-14 24\n",
|
||||
"2024-04-20 23\n",
|
||||
"2024-04-18 20\n",
|
||||
"2024-04-24 19\n",
|
||||
"2024-03-05 17\n",
|
||||
"2024-03-10 17\n",
|
||||
"Name: Time Played, dtype: int64\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"JST = pytz.timezone(\"Asia/Tokyo\")\n",
|
||||
"CST = pytz.timezone(\"America/Chicago\")\n",
|
||||
"\n",
|
||||
"def to_jst_timestamp(s: str, format_str=\"%Y-%m-%d %H:%M:%S\"):\n",
|
||||
" if type(s) is not str: return None\n",
|
||||
" naive_dt = datetime.strptime(s, format_str)\n",
|
||||
" jst_dt = JST.localize(naive_dt)\n",
|
||||
" cst_dt = jst_dt.astimezone(CST)\n",
|
||||
" return cst_dt\n",
|
||||
"\n",
|
||||
"times = data[\"Time Played\"]\n",
|
||||
"times_mapped = times.map(to_jst_timestamp)\n",
|
||||
"days_played = times_mapped.groupby(times_mapped.dt.date).count()\n",
|
||||
"print(days_played.sort_values(ascending=False).head(10))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 22,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" Clears Average Song Name Score Lamp\n",
|
||||
"Rating \n",
|
||||
"8 7 895073 朧 (dj TAKA Remix) 996620 GFC\n",
|
||||
"9 25 918551 Why not 999650 PFC\n",
|
||||
"10 29 921425 隅田川夏恋歌 992160 GFC\n",
|
||||
"11 40 896780 朧 992520 GFC\n",
|
||||
"12 56 890122 MY SUMMER LOVE 987030 GFC\n",
|
||||
"13 70 840879 Struggle 978430 GFC\n",
|
||||
"14 121 799834 FUNKY SUMMER BEACH 943140 FC\n",
|
||||
"15 26 798904 未来(ダ)FUTURE 898400 Clear\n",
|
||||
"16 16 770314 Sword of Vengeance 861210 Clear\n",
|
||||
"17 1 662870 PRANA+REVOLUTIONARY ADDICT (U1 DJ Mix) 662870 Clear\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"records_by_level = data.loc[data[\"Lamp\"] != \"Fail\"].groupby(data[\"Rating\"])\n",
|
||||
"num_clears_by_level = records_by_level[\"Score\"].count().rename(\"Clears\")\n",
|
||||
"average_scores_by_level = records_by_level[\"Score\"].mean().round().astype(\"int\").rename(\"Average\")\n",
|
||||
"def max_info(group):\n",
|
||||
" max_idx = group[\"Score\"].idxmax()\n",
|
||||
" return group.loc[max_idx]\n",
|
||||
"max_score_by_level = records_by_level.apply(max_info)[[\"Score\", \"Lamp\", \"Song Name\"]]\n",
|
||||
"result = pd.merge(num_clears_by_level, average_scores_by_level, on=\"Rating\")\n",
|
||||
"result = pd.merge(result, max_score_by_level, on=\"Rating\")\n",
|
||||
"print(result)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": ".venv",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.11.4"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
Loading…
Reference in a new issue