Skip to content

Instantly share code, notes, and snippets.

@ronfe
Last active July 26, 2017 03:48
Show Gist options
  • Save ronfe/ced26375faf0facef1a7529b01ff9a1c to your computer and use it in GitHub Desktop.
Save ronfe/ced26375faf0facef1a7529b01ff9a1c to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from pymongo import MongoClient\n",
"\n",
"conn = MongoClient(\"10.8.8.111:27017\")\n",
"rating = conn[\"ronfedb\"][\"rankingResult\"]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 用户"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"四分位:1684.0 ~ 1895.0 ~ 2112.0\n",
" _id totalItems trueItems ts\n",
"12075 57147e1ea2f0e0ae2f82681c 26 26 3353\n",
"15159 5923020e70f24775fa59f954 34 34 3281\n",
"21131 592bfd9fa6221d3b4799ab8f 31 31 3262\n",
"13187 576522df8dc905a42587b8bf 21 21 3204\n",
"13906 57677cd68dc905a4258d8978 24 24 3145\n",
"4363 59427adee0095e0b12658eeb 12 12 3116\n",
"9330 57326f082509bfa37ab7ebac 18 18 3091\n",
"1608 58b5958a65c30705ea6bd7b9 8 8 3085\n",
"17584 57909bb4a7971e4e4ba38f3f 12 12 3084\n",
"18348 5648926a52590a431bc5153e 22 22 3079\n",
" _id totalItems trueItems ts\n",
"27109 56c0671c2938a01cc6679b8b 20 3 638\n",
"12331 595b446ab7fd8705c67dc20b 19 4 624\n",
"24289 5925699ed694f227b17d5ab2 10 2 610\n",
"21289 595b643ca234160d52b02659 4 0 594\n",
"15011 58c3bb9c14d44a1d3331c165 5 0 583\n",
"9380 595af136eda6a4128ff061ff 6 1 576\n",
"7341 58785cb0405d8e05eb13bbc2 18 2 523\n",
"22545 58b6297027ca2342d72995d5 10 1 448\n",
"25227 589c555604c87b6961b68dd5 4 0 391\n",
"23322 5827e7b2491693f805f7cd64 10 2 336\n"
]
}
],
"source": [
"from pymongo import DESCENDING\n",
"import pandas as pd\n",
"\n",
"logs = conn['ronfedb']['logs']\n",
"\n",
"x = rating.find({\"type\": \"human\", \"sigma\": {\"$lt\": 4}}, {\"_id\": 0, \"id\": 1, \"ts\": 1}).sort('ts', DESCENDING)\n",
"df1 = pd.DataFrame(list(x))\n",
"\n",
"pipeline = [\n",
" {\"$match\": {\"humanId\": {\"$in\": df1[\"id\"].tolist()}}},\n",
" {\"$group\": {\"_id\": \"$humanId\", \"totalItems\": {\"$sum\": 1}, \"trueItems\": {\"$sum\": {\"$cond\": [\"$correct\", 1, 0]}}, \"itemAvgElo\": {\"$avg\": \"$problemEloBefore\"}}},\n",
" {\"$project\": {\"totalItems\": 1,\"trueItems\": 1}}\n",
"]\n",
"\n",
"\n",
"x = logs.aggregate(pipeline)\n",
"\n",
"df = pd.DataFrame(list(x))\n",
"df = pd.merge(df, df1, how='inner', left_on='_id', right_on='id')\n",
"del df[\"id\"]\n",
"df = df.sort_values(by='ts', ascending=False)\n",
"\n",
"\n",
"print('四分位:{} ~ {} ~ {}'.format(df['ts'].quantile(0.25), df['ts'].quantile(0.5), df['ts'].quantile(0.75)))\n",
"print(df.head(n=10))\n",
"print(df.tail(n=10))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 题目"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"四分位:1496.0 ~ 1802.0 ~ 2045.0\n",
" _id totalTimes trueTimes ts\n",
"2228 5885d98f0bfe8bb9fece4107+3 4 1 2851\n",
"4357 5885d96b0bfe8bb9fece4105+2 4 1 2835\n",
"131 5885db900bfe8beb53d38e66+3 4 1 2824\n",
"1387 5885d9d80bfe8be228242407+1 4 1 2823\n",
"195 5885d9d80bfe8be228242407+2 4 1 2816\n",
"188 5885d9d80bfe8be228242407+6 4 1 2808\n",
"2493 5858ce3e65ab1124555c793c+4 27 5 2799\n",
"244 587ef0b665ab117ed82a7095+2 2 1 2798\n",
"177 5885dace0bfe8be22824240d+3 4 1 2797\n",
"3430 5875d98a65ab11f78e917129+3 19 4 2778\n",
" _id totalTimes trueTimes ts\n",
"2466 5850e04f9ff01bd891e2d2eb+2 70 70 558\n",
"1032 57144d5da8c605499c2d83bf+1 660 651 552\n",
"2231 578edd0258fc4a79085563c5+1 211 202 539\n",
"1809 586de27c42cbcd996b024c3a+2 319 309 529\n",
"2608 57ce349e58fc4a6d1caf6bb8+1 550 536 516\n",
"1477 5822a0fb18d30f72b5a70d6a+1 933 907 481\n",
"1829 57144d5da8c605499c2d83b6+1 1253 1226 471\n",
"2072 5768ac7a4fa1ea943b413952+1 300 296 448\n",
"1152 57673e2b58fc4a79b8c8c9f3+2 408 400 435\n",
"2972 57c3b6ab58fc4a1b901e1c7c+1 233 227 266\n"
]
}
],
"source": [
"from pymongo import DESCENDING\n",
"import pandas as pd\n",
"\n",
"logs = conn['ronfedb']['logs']\n",
"\n",
"x = rating.find({\"type\": \"problem\", \"sigma\": {\"$lt\": 4}}, {\"_id\": 0, \"id\": 1, \"ts\": 1}).sort('ts', DESCENDING)\n",
"df1 = pd.DataFrame(list(x))\n",
"\n",
"pipeline = [\n",
" {\"$match\": {\"problemId\": {\"$in\": df1[\"id\"].tolist()}}},\n",
" {\"$group\": {\"_id\": \"$problemId\", \"totalTimes\": {\"$sum\": 1}, \"trueTimes\": {\"$sum\": {\"$cond\": [\"$correct\", 1, 0]}}, \"humanAvgElo\": {\"$avg\": \"$humanEloBefore\"}}},\n",
" {\"$project\": {\"totalTimes\": 1,\"trueTimes\": 1}}\n",
"]\n",
"\n",
"\n",
"x = logs.aggregate(pipeline)\n",
"\n",
"df = pd.DataFrame(list(x))\n",
"df = pd.merge(df, df1, how='inner', left_on='_id', right_on='id')\n",
"del df[\"id\"]\n",
"df = df.sort_values(by='ts', ascending=False)\n",
"\n",
"\n",
"print('四分位:{} ~ {} ~ {}'.format(df['ts'].quantile(0.25), df['ts'].quantile(0.5), df['ts'].quantile(0.75)))\n",
"print(df.head(n=10))\n",
"print(df.tail(n=10))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 用户出分速度 (sigma < 4)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10f1a0048>"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10f1a0a58>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"from collections import defaultdict\n",
"\n",
"user_counter = defaultdict(int)\n",
"result = list()\n",
"\n",
"x = logs.find()\n",
"for doc in x:\n",
" user_counter[doc[\"humanId\"]] += 1\n",
" if doc[\"humanSigmaBefore\"] >= 4 and doc[\"humanSigmaAfter\"] < 4:\n",
" result.append(user_counter[doc[\"humanId\"]])\n",
"\n",
"df_times = pd.Series(result)\n",
"\n",
"s = df_times.value_counts().sort_index()\n",
"\n",
"s.plot(kind='bar')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 用户做题记录和积分变动\n",
"\n",
"* 最高分用户"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>题目ID</th>\n",
" <th>题目天梯</th>\n",
" <th>做题前天梯</th>\n",
" <th>正误</th>\n",
" <th>做题后天梯</th>\n",
" <th>Sigma</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5787423158fc4ae3a4751121+1</td>\n",
" <td>2236</td>\n",
" <td>2000</td>\n",
" <td>True</td>\n",
" <td>2556</td>\n",
" <td>6.141257</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5787423158fc4ae3a4751121+2</td>\n",
" <td>2174</td>\n",
" <td>2556</td>\n",
" <td>True</td>\n",
" <td>2740</td>\n",
" <td>5.271278</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5787423158fc4ae3a4751121+3</td>\n",
" <td>2493</td>\n",
" <td>2740</td>\n",
" <td>True</td>\n",
" <td>2911</td>\n",
" <td>4.593009</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>5791d1b86d1f5ea7865741cb+1</td>\n",
" <td>1254</td>\n",
" <td>2911</td>\n",
" <td>True</td>\n",
" <td>2913</td>\n",
" <td>4.566256</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5791d1b86d1f5ea7865741cb+2</td>\n",
" <td>1188</td>\n",
" <td>2913</td>\n",
" <td>True</td>\n",
" <td>2915</td>\n",
" <td>4.546331</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>5791d1b86d1f5ea7865741cb+3</td>\n",
" <td>1198</td>\n",
" <td>2915</td>\n",
" <td>True</td>\n",
" <td>2917</td>\n",
" <td>4.526315</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>5791d1b86d1f5ea7865741cb+4</td>\n",
" <td>1743</td>\n",
" <td>2917</td>\n",
" <td>True</td>\n",
" <td>2933</td>\n",
" <td>4.408958</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>5791d1b86d1f5ea7865741cb+5</td>\n",
" <td>1729</td>\n",
" <td>2933</td>\n",
" <td>True</td>\n",
" <td>2947</td>\n",
" <td>4.309586</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>577384363b0c351a219f2b5d+1</td>\n",
" <td>1575</td>\n",
" <td>2947</td>\n",
" <td>True</td>\n",
" <td>2954</td>\n",
" <td>4.252993</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>577384363b0c351a219f2b5d+2</td>\n",
" <td>1404</td>\n",
" <td>2954</td>\n",
" <td>True</td>\n",
" <td>2957</td>\n",
" <td>4.224008</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>577384363b0c351a219f2b5d+3</td>\n",
" <td>1499</td>\n",
" <td>2957</td>\n",
" <td>True</td>\n",
" <td>2962</td>\n",
" <td>4.184813</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>577384363b0c351a219f2b5d+4</td>\n",
" <td>1361</td>\n",
" <td>2962</td>\n",
" <td>True</td>\n",
" <td>2964</td>\n",
" <td>4.162780</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>5787428858fc4a0545a1e484+1</td>\n",
" <td>2192</td>\n",
" <td>2964</td>\n",
" <td>True</td>\n",
" <td>3009</td>\n",
" <td>3.999846</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>5787428858fc4a0545a1e484+2</td>\n",
" <td>2565</td>\n",
" <td>3009</td>\n",
" <td>True</td>\n",
" <td>3076</td>\n",
" <td>3.824343</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>5787428858fc4a0545a1e484+3</td>\n",
" <td>2461</td>\n",
" <td>3076</td>\n",
" <td>True</td>\n",
" <td>3125</td>\n",
" <td>3.688738</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>5787428858fc4a0545a1e484+4</td>\n",
" <td>1584</td>\n",
" <td>3125</td>\n",
" <td>True</td>\n",
" <td>3133</td>\n",
" <td>3.654584</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>5787428858fc4a0545a1e484+5</td>\n",
" <td>1636</td>\n",
" <td>3133</td>\n",
" <td>True</td>\n",
" <td>3141</td>\n",
" <td>3.618207</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>5858d6cb65ab1124dc3b5aa4+1</td>\n",
" <td>2000</td>\n",
" <td>3141</td>\n",
" <td>True</td>\n",
" <td>3161</td>\n",
" <td>3.558541</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>5858d6cb65ab1124dc3b5aa4+2</td>\n",
" <td>2000</td>\n",
" <td>3161</td>\n",
" <td>True</td>\n",
" <td>3179</td>\n",
" <td>3.503063</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>5858d6cb65ab1124dc3b5aa4+3</td>\n",
" <td>2000</td>\n",
" <td>3179</td>\n",
" <td>True</td>\n",
" <td>3196</td>\n",
" <td>3.451294</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>578743a758fc4a187be3567c+1</td>\n",
" <td>2382</td>\n",
" <td>3196</td>\n",
" <td>True</td>\n",
" <td>3224</td>\n",
" <td>3.355560</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>578743a758fc4a187be3567c+2</td>\n",
" <td>2846</td>\n",
" <td>3224</td>\n",
" <td>True</td>\n",
" <td>3279</td>\n",
" <td>3.222527</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>578743a758fc4a187be3567c+3</td>\n",
" <td>1258</td>\n",
" <td>3279</td>\n",
" <td>True</td>\n",
" <td>3280</td>\n",
" <td>3.219362</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>578743a758fc4a187be3567c+4</td>\n",
" <td>2815</td>\n",
" <td>3280</td>\n",
" <td>True</td>\n",
" <td>3325</td>\n",
" <td>3.107059</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>578743a758fc4a187be3567c+5</td>\n",
" <td>2584</td>\n",
" <td>3325</td>\n",
" <td>True</td>\n",
" <td>3351</td>\n",
" <td>3.034586</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>5858d8d165ab1100c15498be+1</td>\n",
" <td>1603</td>\n",
" <td>3351</td>\n",
" <td>True</td>\n",
" <td>3354</td>\n",
" <td>3.024238</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 题目ID 题目天梯 做题前天梯 正误 做题后天梯 Sigma\n",
"0 5787423158fc4ae3a4751121+1 2236 2000 True 2556 6.141257\n",
"1 5787423158fc4ae3a4751121+2 2174 2556 True 2740 5.271278\n",
"2 5787423158fc4ae3a4751121+3 2493 2740 True 2911 4.593009\n",
"3 5791d1b86d1f5ea7865741cb+1 1254 2911 True 2913 4.566256\n",
"4 5791d1b86d1f5ea7865741cb+2 1188 2913 True 2915 4.546331\n",
"5 5791d1b86d1f5ea7865741cb+3 1198 2915 True 2917 4.526315\n",
"6 5791d1b86d1f5ea7865741cb+4 1743 2917 True 2933 4.408958\n",
"7 5791d1b86d1f5ea7865741cb+5 1729 2933 True 2947 4.309586\n",
"8 577384363b0c351a219f2b5d+1 1575 2947 True 2954 4.252993\n",
"9 577384363b0c351a219f2b5d+2 1404 2954 True 2957 4.224008\n",
"10 577384363b0c351a219f2b5d+3 1499 2957 True 2962 4.184813\n",
"11 577384363b0c351a219f2b5d+4 1361 2962 True 2964 4.162780\n",
"12 5787428858fc4a0545a1e484+1 2192 2964 True 3009 3.999846\n",
"13 5787428858fc4a0545a1e484+2 2565 3009 True 3076 3.824343\n",
"14 5787428858fc4a0545a1e484+3 2461 3076 True 3125 3.688738\n",
"15 5787428858fc4a0545a1e484+4 1584 3125 True 3133 3.654584\n",
"16 5787428858fc4a0545a1e484+5 1636 3133 True 3141 3.618207\n",
"17 5858d6cb65ab1124dc3b5aa4+1 2000 3141 True 3161 3.558541\n",
"18 5858d6cb65ab1124dc3b5aa4+2 2000 3161 True 3179 3.503063\n",
"19 5858d6cb65ab1124dc3b5aa4+3 2000 3179 True 3196 3.451294\n",
"20 578743a758fc4a187be3567c+1 2382 3196 True 3224 3.355560\n",
"21 578743a758fc4a187be3567c+2 2846 3224 True 3279 3.222527\n",
"22 578743a758fc4a187be3567c+3 1258 3279 True 3280 3.219362\n",
"23 578743a758fc4a187be3567c+4 2815 3280 True 3325 3.107059\n",
"24 578743a758fc4a187be3567c+5 2584 3325 True 3351 3.034586\n",
"25 5858d8d165ab1100c15498be+1 1603 3351 True 3354 3.024238"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1149dfd30>"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\ngg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x114b32e48>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from IPython.display import display\n",
"\n",
"uid = '57147e1ea2f0e0ae2f82681c'\n",
"\n",
"x = logs.find({\"humanId\": uid}, {\"_id\": 0, \"problemId\": 1,\"problemEloBefore\":1 ,\"humanEloBefore\": 1, \"humanEloAfter\": 1, \"humanSigmaAfter\": 1, \"correct\": 1})\n",
"\n",
"\n",
"df = pd.DataFrame(list(x))\n",
"df[\"humanEloBefore\"] = df[\"humanEloBefore\"].apply(lambda t: round(t * 80))\n",
"df[\"humanEloAfter\"] = df[\"humanEloAfter\"].apply(lambda t: round(t * 80))\n",
"df[\"problemEloBefore\"] = df[\"problemEloBefore\"].apply(lambda t: round(t * 80))\n",
"df = df[['problemId', 'problemEloBefore', 'humanEloBefore', 'correct', 'humanEloAfter', 'humanSigmaAfter']]\n",
"df = df.rename(columns={\n",
" 'problemId':'题目ID', \n",
" 'problemEloBefore':'题目天梯', \n",
" 'humanEloBefore':'做题前天梯', \n",
" 'correct':'正误', \n",
" 'humanEloAfter':'做题后天梯', \n",
" 'humanSigmaAfter':'Sigma'})\n",
"display(df)\n",
"\n",
"s = df['做题后天梯']\n",
"colors = {True: 'g', False: 'r'}\n",
"ax = s.plot(kind='line', marker='o')\n",
"df['题目天梯'].plot(kind='bar', color=[colors[i] for i in df['正误']],ax=ax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* 75%位置用户"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>题目ID</th>\n",
" <th>题目天梯</th>\n",
" <th>做题前天梯</th>\n",
" <th>正误</th>\n",
" <th>做题后天梯</th>\n",
" <th>Sigma</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>577cbea6b14d7c1f77820f6a+1</td>\n",
" <td>1635</td>\n",
" <td>2000</td>\n",
" <td>True</td>\n",
" <td>2312</td>\n",
" <td>6.657339</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>577cbea6b14d7c1f77820f6a+2</td>\n",
" <td>1267</td>\n",
" <td>2312</td>\n",
" <td>True</td>\n",
" <td>2379</td>\n",
" <td>6.158701</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>577cbea6b14d7c1f77820f6a+3</td>\n",
" <td>1542</td>\n",
" <td>2379</td>\n",
" <td>True</td>\n",
" <td>2465</td>\n",
" <td>5.609161</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>577cbea6b14d7c1f77820f6a+4</td>\n",
" <td>1788</td>\n",
" <td>2465</td>\n",
" <td>True</td>\n",
" <td>2560</td>\n",
" <td>5.074092</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>57845f0082c580c418bff08f+1</td>\n",
" <td>1325</td>\n",
" <td>2560</td>\n",
" <td>True</td>\n",
" <td>2578</td>\n",
" <td>4.925494</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>57845f0082c580c418bff08f+2</td>\n",
" <td>1959</td>\n",
" <td>2578</td>\n",
" <td>False</td>\n",
" <td>2176</td>\n",
" <td>4.033970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>57845f0082c580c418bff08f+2</td>\n",
" <td>1978</td>\n",
" <td>2176</td>\n",
" <td>True</td>\n",
" <td>2294</td>\n",
" <td>3.648188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>57845f0082c580c418bff08f+3</td>\n",
" <td>1621</td>\n",
" <td>2294</td>\n",
" <td>True</td>\n",
" <td>2332</td>\n",
" <td>3.475353</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>57845f0082c580c418bff08f+4</td>\n",
" <td>2307</td>\n",
" <td>2332</td>\n",
" <td>False</td>\n",
" <td>2206</td>\n",
" <td>3.167408</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>57845f0082c580c418bff08f+4</td>\n",
" <td>2296</td>\n",
" <td>2206</td>\n",
" <td>True</td>\n",
" <td>2323</td>\n",
" <td>2.916576</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>57845f0082c580c418bff08f+5</td>\n",
" <td>2461</td>\n",
" <td>2323</td>\n",
" <td>False</td>\n",
" <td>2251</td>\n",
" <td>2.742268</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>57845f0082c580c418bff08f+5</td>\n",
" <td>2410</td>\n",
" <td>2251</td>\n",
" <td>False</td>\n",
" <td>2188</td>\n",
" <td>2.597361</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>57845f0082c580c418bff08f+5</td>\n",
" <td>2417</td>\n",
" <td>2188</td>\n",
" <td>True</td>\n",
" <td>2286</td>\n",
" <td>2.440206</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>5784690482c5808115c00c54+1</td>\n",
" <td>1532</td>\n",
" <td>2286</td>\n",
" <td>True</td>\n",
" <td>2299</td>\n",
" <td>2.394125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>5784690482c5808115c00c54+2</td>\n",
" <td>2211</td>\n",
" <td>2299</td>\n",
" <td>False</td>\n",
" <td>2229</td>\n",
" <td>2.276747</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>5784690482c5808115c00c54+2</td>\n",
" <td>2220</td>\n",
" <td>2229</td>\n",
" <td>True</td>\n",
" <td>2285</td>\n",
" <td>2.180504</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>5784690482c5808115c00c54+3</td>\n",
" <td>1903</td>\n",
" <td>2285</td>\n",
" <td>False</td>\n",
" <td>2199</td>\n",
" <td>2.078313</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>5784690482c5808115c00c54+3</td>\n",
" <td>1916</td>\n",
" <td>2199</td>\n",
" <td>True</td>\n",
" <td>2229</td>\n",
" <td>2.019305</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>5784690482c5808115c00c54+4</td>\n",
" <td>2037</td>\n",
" <td>2229</td>\n",
" <td>True</td>\n",
" <td>2262</td>\n",
" <td>1.960051</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>5784690482c5808115c00c54+5</td>\n",
" <td>2041</td>\n",
" <td>2262</td>\n",
" <td>True</td>\n",
" <td>2292</td>\n",
" <td>1.907267</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>5784690482c5808115c00c54+6</td>\n",
" <td>1950</td>\n",
" <td>2292</td>\n",
" <td>True</td>\n",
" <td>2314</td>\n",
" <td>1.864447</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>577cc323b14d7c5b8ff27ac6+1</td>\n",
" <td>1589</td>\n",
" <td>2314</td>\n",
" <td>False</td>\n",
" <td>2225</td>\n",
" <td>1.794015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>577cc323b14d7c5b8ff27ac6+1</td>\n",
" <td>1615</td>\n",
" <td>2225</td>\n",
" <td>True</td>\n",
" <td>2236</td>\n",
" <td>1.770492</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>577cc323b14d7c5b8ff27ac6+2</td>\n",
" <td>1619</td>\n",
" <td>2236</td>\n",
" <td>True</td>\n",
" <td>2246</td>\n",
" <td>1.748217</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>577cc323b14d7c5b8ff27ac6+3</td>\n",
" <td>1910</td>\n",
" <td>2246</td>\n",
" <td>False</td>\n",
" <td>2192</td>\n",
" <td>1.695487</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>577cc323b14d7c5b8ff27ac6+3</td>\n",
" <td>1924</td>\n",
" <td>2192</td>\n",
" <td>True</td>\n",
" <td>2212</td>\n",
" <td>1.663098</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>577cc323b14d7c5b8ff27ac6+4</td>\n",
" <td>2089</td>\n",
" <td>2212</td>\n",
" <td>False</td>\n",
" <td>2175</td>\n",
" <td>1.621758</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>577cc323b14d7c5b8ff27ac6+4</td>\n",
" <td>2111</td>\n",
" <td>2175</td>\n",
" <td>False</td>\n",
" <td>2142</td>\n",
" <td>1.584753</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>577cc323b14d7c5b8ff27ac6+4</td>\n",
" <td>2116</td>\n",
" <td>2142</td>\n",
" <td>False</td>\n",
" <td>2112</td>\n",
" <td>1.551116</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 题目ID 题目天梯 做题前天梯 正误 做题后天梯 Sigma\n",
"0 577cbea6b14d7c1f77820f6a+1 1635 2000 True 2312 6.657339\n",
"1 577cbea6b14d7c1f77820f6a+2 1267 2312 True 2379 6.158701\n",
"2 577cbea6b14d7c1f77820f6a+3 1542 2379 True 2465 5.609161\n",
"3 577cbea6b14d7c1f77820f6a+4 1788 2465 True 2560 5.074092\n",
"4 57845f0082c580c418bff08f+1 1325 2560 True 2578 4.925494\n",
"5 57845f0082c580c418bff08f+2 1959 2578 False 2176 4.033970\n",
"6 57845f0082c580c418bff08f+2 1978 2176 True 2294 3.648188\n",
"7 57845f0082c580c418bff08f+3 1621 2294 True 2332 3.475353\n",
"8 57845f0082c580c418bff08f+4 2307 2332 False 2206 3.167408\n",
"9 57845f0082c580c418bff08f+4 2296 2206 True 2323 2.916576\n",
"10 57845f0082c580c418bff08f+5 2461 2323 False 2251 2.742268\n",
"11 57845f0082c580c418bff08f+5 2410 2251 False 2188 2.597361\n",
"12 57845f0082c580c418bff08f+5 2417 2188 True 2286 2.440206\n",
"13 5784690482c5808115c00c54+1 1532 2286 True 2299 2.394125\n",
"14 5784690482c5808115c00c54+2 2211 2299 False 2229 2.276747\n",
"15 5784690482c5808115c00c54+2 2220 2229 True 2285 2.180504\n",
"16 5784690482c5808115c00c54+3 1903 2285 False 2199 2.078313\n",
"17 5784690482c5808115c00c54+3 1916 2199 True 2229 2.019305\n",
"18 5784690482c5808115c00c54+4 2037 2229 True 2262 1.960051\n",
"19 5784690482c5808115c00c54+5 2041 2262 True 2292 1.907267\n",
"20 5784690482c5808115c00c54+6 1950 2292 True 2314 1.864447\n",
"21 577cc323b14d7c5b8ff27ac6+1 1589 2314 False 2225 1.794015\n",
"22 577cc323b14d7c5b8ff27ac6+1 1615 2225 True 2236 1.770492\n",
"23 577cc323b14d7c5b8ff27ac6+2 1619 2236 True 2246 1.748217\n",
"24 577cc323b14d7c5b8ff27ac6+3 1910 2246 False 2192 1.695487\n",
"25 577cc323b14d7c5b8ff27ac6+3 1924 2192 True 2212 1.663098\n",
"26 577cc323b14d7c5b8ff27ac6+4 2089 2212 False 2175 1.621758\n",
"27 577cc323b14d7c5b8ff27ac6+4 2111 2175 False 2142 1.584753\n",
"28 577cc323b14d7c5b8ff27ac6+4 2116 2142 False 2112 1.551116"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10fb93ef0>"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nJMD+P7xjUfgT/nIbAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10fec5160>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x = rating.find({\"ts\": {\"$gte\": 2112}, \"sigma\": {\"$lt\": 4}, \"type\": \"human\"}).sort(\"ts\", ASCENDING).limit(1)\n",
"uid = list(x)[0]['id']\n",
"\n",
"x = logs.find({\"humanId\": uid}, {\"_id\": 0, \"problemId\": 1,\"problemEloBefore\":1 ,\"humanEloBefore\": 1, \"humanEloAfter\": 1, \"humanSigmaAfter\": 1, \"correct\": 1})\n",
"\n",
"\n",
"df = pd.DataFrame(list(x))\n",
"df[\"humanEloBefore\"] = df[\"humanEloBefore\"].apply(lambda t: round(t * 80))\n",
"df[\"humanEloAfter\"] = df[\"humanEloAfter\"].apply(lambda t: round(t * 80))\n",
"df[\"problemEloBefore\"] = df[\"problemEloBefore\"].apply(lambda t: round(t * 80))\n",
"df = df[['problemId', 'problemEloBefore', 'humanEloBefore', 'correct', 'humanEloAfter', 'humanSigmaAfter']]\n",
"df = df.rename(columns={\n",
" 'problemId':'题目ID', \n",
" 'problemEloBefore':'题目天梯', \n",
" 'humanEloBefore':'做题前天梯', \n",
" 'correct':'正误', \n",
" 'humanEloAfter':'做题后天梯', \n",
" 'humanSigmaAfter':'Sigma'})\n",
"display(df)\n",
"\n",
"s = df['做题后天梯']\n",
"colors = {True: 'g', False: 'r'}\n",
"ax = s.plot(kind='line', marker='o')\n",
"df['题目天梯'].plot(kind='bar', color=[colors[i] for i in df['正误']],ax=ax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* 中位数用户"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>题目ID</th>\n",
" <th>题目天梯</th>\n",
" <th>做题前天梯</th>\n",
" <th>正误</th>\n",
" <th>做题后天梯</th>\n",
" <th>Sigma</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>570c77b15ca6cfe8cc03c50a+1</td>\n",
" <td>1409</td>\n",
" <td>2000</td>\n",
" <td>False</td>\n",
" <td>1261</td>\n",
" <td>5.817176</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>570c77b15ca6cfe8cc03c50a+1</td>\n",
" <td>1418</td>\n",
" <td>1261</td>\n",
" <td>True</td>\n",
" <td>1591</td>\n",
" <td>4.718554</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>570c77b15ca6cfe8cc03c50a+2</td>\n",
" <td>1403</td>\n",
" <td>1591</td>\n",
" <td>False</td>\n",
" <td>1340</td>\n",
" <td>4.015765</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>570c77b15ca6cfe8cc03c50a+2</td>\n",
" <td>1412</td>\n",
" <td>1340</td>\n",
" <td>True</td>\n",
" <td>1510</td>\n",
" <td>3.562029</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>570c77b15ca6cfe8cc03c50a+3</td>\n",
" <td>1624</td>\n",
" <td>1510</td>\n",
" <td>True</td>\n",
" <td>1658</td>\n",
" <td>3.217716</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>5859f8eb0f3db04919a86626+1</td>\n",
" <td>1113</td>\n",
" <td>1658</td>\n",
" <td>True</td>\n",
" <td>1698</td>\n",
" <td>3.070021</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>5859f8eb0f3db04919a86626+2</td>\n",
" <td>808</td>\n",
" <td>1698</td>\n",
" <td>True</td>\n",
" <td>1712</td>\n",
" <td>3.001226</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>5859f8eb0f3db04919a86626+3</td>\n",
" <td>901</td>\n",
" <td>1712</td>\n",
" <td>True</td>\n",
" <td>1730</td>\n",
" <td>2.924836</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>570c797f5ca6cfc55ece7018+1</td>\n",
" <td>852</td>\n",
" <td>1730</td>\n",
" <td>True</td>\n",
" <td>1743</td>\n",
" <td>2.863957</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>570c797f5ca6cfc55ece7018+2</td>\n",
" <td>642</td>\n",
" <td>1743</td>\n",
" <td>True</td>\n",
" <td>1749</td>\n",
" <td>2.832340</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>570c797f5ca6cfc55ece7018+3</td>\n",
" <td>1007</td>\n",
" <td>1749</td>\n",
" <td>True</td>\n",
" <td>1768</td>\n",
" <td>2.758641</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>570c797f5ca6cfc55ece7018+4</td>\n",
" <td>1454</td>\n",
" <td>1768</td>\n",
" <td>True</td>\n",
" <td>1816</td>\n",
" <td>2.630739</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>570c90995ca6cf463a4cefd5+1</td>\n",
" <td>992</td>\n",
" <td>1816</td>\n",
" <td>True</td>\n",
" <td>1829</td>\n",
" <td>2.581006</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>570c90995ca6cf463a4cefd5+2</td>\n",
" <td>1162</td>\n",
" <td>1829</td>\n",
" <td>True</td>\n",
" <td>1848</td>\n",
" <td>2.516340</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>570c90995ca6cf463a4cefd5+3</td>\n",
" <td>1623</td>\n",
" <td>1848</td>\n",
" <td>True</td>\n",
" <td>1895</td>\n",
" <td>2.408312</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 题目ID 题目天梯 做题前天梯 正误 做题后天梯 Sigma\n",
"0 570c77b15ca6cfe8cc03c50a+1 1409 2000 False 1261 5.817176\n",
"1 570c77b15ca6cfe8cc03c50a+1 1418 1261 True 1591 4.718554\n",
"2 570c77b15ca6cfe8cc03c50a+2 1403 1591 False 1340 4.015765\n",
"3 570c77b15ca6cfe8cc03c50a+2 1412 1340 True 1510 3.562029\n",
"4 570c77b15ca6cfe8cc03c50a+3 1624 1510 True 1658 3.217716\n",
"5 5859f8eb0f3db04919a86626+1 1113 1658 True 1698 3.070021\n",
"6 5859f8eb0f3db04919a86626+2 808 1698 True 1712 3.001226\n",
"7 5859f8eb0f3db04919a86626+3 901 1712 True 1730 2.924836\n",
"8 570c797f5ca6cfc55ece7018+1 852 1730 True 1743 2.863957\n",
"9 570c797f5ca6cfc55ece7018+2 642 1743 True 1749 2.832340\n",
"10 570c797f5ca6cfc55ece7018+3 1007 1749 True 1768 2.758641\n",
"11 570c797f5ca6cfc55ece7018+4 1454 1768 True 1816 2.630739\n",
"12 570c90995ca6cf463a4cefd5+1 992 1816 True 1829 2.581006\n",
"13 570c90995ca6cf463a4cefd5+2 1162 1829 True 1848 2.516340\n",
"14 570c90995ca6cf463a4cefd5+3 1623 1848 True 1895 2.408312"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10f686cf8>"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nH5ogej9K+GhiAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11245ac88>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x = rating.find({\"ts\": {\"$gte\": 1895}, \"sigma\": {\"$lt\": 4}, \"type\": \"human\"}).sort(\"ts\", ASCENDING).limit(1)\n",
"uid = list(x)[0]['id']\n",
"\n",
"x = logs.find({\"humanId\": uid}, {\"_id\": 0, \"problemId\": 1,\"problemEloBefore\":1 ,\"humanEloBefore\": 1, \"humanEloAfter\": 1, \"humanSigmaAfter\": 1, \"correct\": 1})\n",
"\n",
"\n",
"df = pd.DataFrame(list(x))\n",
"df[\"humanEloBefore\"] = df[\"humanEloBefore\"].apply(lambda t: round(t * 80))\n",
"df[\"humanEloAfter\"] = df[\"humanEloAfter\"].apply(lambda t: round(t * 80))\n",
"df[\"problemEloBefore\"] = df[\"problemEloBefore\"].apply(lambda t: round(t * 80))\n",
"df = df[['problemId', 'problemEloBefore', 'humanEloBefore', 'correct', 'humanEloAfter', 'humanSigmaAfter']]\n",
"df = df.rename(columns={\n",
" 'problemId':'题目ID', \n",
" 'problemEloBefore':'题目天梯', \n",
" 'humanEloBefore':'做题前天梯', \n",
" 'correct':'正误', \n",
" 'humanEloAfter':'做题后天梯', \n",
" 'humanSigmaAfter':'Sigma'})\n",
"display(df)\n",
"\n",
"s = df['做题后天梯']\n",
"colors = {True: 'g', False: 'r'}\n",
"ax = s.plot(kind='line', marker='o')\n",
"df['题目天梯'].plot(kind='bar', color=[colors[i] for i in df['正误']],ax=ax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* 最低分用户"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>题目ID</th>\n",
" <th>题目天梯</th>\n",
" <th>做题前天梯</th>\n",
" <th>正误</th>\n",
" <th>做题后天梯</th>\n",
" <th>Sigma</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5721e3c0d0f99e47855cfe02+1</td>\n",
" <td>716</td>\n",
" <td>2000</td>\n",
" <td>True</td>\n",
" <td>2076</td>\n",
" <td>7.677619</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5721e3c0d0f99e47855cfe02+2</td>\n",
" <td>649</td>\n",
" <td>2076</td>\n",
" <td>False</td>\n",
" <td>969</td>\n",
" <td>5.176914</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5721e3c0d0f99e47855cfe02+2</td>\n",
" <td>676</td>\n",
" <td>969</td>\n",
" <td>False</td>\n",
" <td>650</td>\n",
" <td>4.284475</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>5721e3c0d0f99e47855cfe02+2</td>\n",
" <td>699</td>\n",
" <td>650</td>\n",
" <td>False</td>\n",
" <td>489</td>\n",
" <td>3.794626</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5721e3c0d0f99e47855cfe02+2</td>\n",
" <td>710</td>\n",
" <td>489</td>\n",
" <td>False</td>\n",
" <td>387</td>\n",
" <td>3.473291</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>5721e3c0d0f99e47855cfe02+2</td>\n",
" <td>718</td>\n",
" <td>387</td>\n",
" <td>True</td>\n",
" <td>567</td>\n",
" <td>3.124704</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>5721e3c0d0f99e47855cfe02+1</td>\n",
" <td>711</td>\n",
" <td>567</td>\n",
" <td>False</td>\n",
" <td>486</td>\n",
" <td>2.919297</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>5721e3c0d0f99e47855cfe02+1</td>\n",
" <td>723</td>\n",
" <td>486</td>\n",
" <td>False</td>\n",
" <td>425</td>\n",
" <td>2.760682</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>5721e3c0d0f99e47855cfe02+1</td>\n",
" <td>732</td>\n",
" <td>425</td>\n",
" <td>False</td>\n",
" <td>377</td>\n",
" <td>2.633246</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>5721e3c0d0f99e47855cfe02+1</td>\n",
" <td>741</td>\n",
" <td>377</td>\n",
" <td>False</td>\n",
" <td>337</td>\n",
" <td>2.528112</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 题目ID 题目天梯 做题前天梯 正误 做题后天梯 Sigma\n",
"0 5721e3c0d0f99e47855cfe02+1 716 2000 True 2076 7.677619\n",
"1 5721e3c0d0f99e47855cfe02+2 649 2076 False 969 5.176914\n",
"2 5721e3c0d0f99e47855cfe02+2 676 969 False 650 4.284475\n",
"3 5721e3c0d0f99e47855cfe02+2 699 650 False 489 3.794626\n",
"4 5721e3c0d0f99e47855cfe02+2 710 489 False 387 3.473291\n",
"5 5721e3c0d0f99e47855cfe02+2 718 387 True 567 3.124704\n",
"6 5721e3c0d0f99e47855cfe02+1 711 567 False 486 2.919297\n",
"7 5721e3c0d0f99e47855cfe02+1 723 486 False 425 2.760682\n",
"8 5721e3c0d0f99e47855cfe02+1 732 425 False 377 2.633246\n",
"9 5721e3c0d0f99e47855cfe02+1 741 377 False 337 2.528112"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10f0ee4a8>"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1100efd30>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"uid = '5827e7b2491693f805f7cd64'\n",
"\n",
"x = logs.find({\"humanId\": uid}, {\"_id\": 0, \"problemId\": 1,\"problemEloBefore\":1 ,\"humanEloBefore\": 1, \"humanEloAfter\": 1, \"humanSigmaAfter\": 1, \"correct\": 1})\n",
"\n",
"\n",
"df = pd.DataFrame(list(x))\n",
"df[\"humanEloBefore\"] = df[\"humanEloBefore\"].apply(lambda t: round(t * 80))\n",
"df[\"humanEloAfter\"] = df[\"humanEloAfter\"].apply(lambda t: round(t * 80))\n",
"df[\"problemEloBefore\"] = df[\"problemEloBefore\"].apply(lambda t: round(t * 80))\n",
"df = df[['problemId', 'problemEloBefore', 'humanEloBefore', 'correct', 'humanEloAfter', 'humanSigmaAfter']]\n",
"df = df.rename(columns={\n",
" 'problemId':'题目ID', \n",
" 'problemEloBefore':'题目天梯', \n",
" 'humanEloBefore':'做题前天梯', \n",
" 'correct':'正误', \n",
" 'humanEloAfter':'做题后天梯', \n",
" 'humanSigmaAfter':'Sigma'})\n",
"display(df)\n",
"\n",
"s = df['做题后天梯']\n",
"colors = {True: 'g', False: 'r'}\n",
"ax = s.plot(kind='line', marker='o')\n",
"df['题目天梯'].plot(kind='bar', color=[colors[i] for i in df['正误']],ax=ax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* 12题以上正确率0.5用户"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>题目ID</th>\n",
" <th>题目天梯</th>\n",
" <th>做题前天梯</th>\n",
" <th>正误</th>\n",
" <th>做题后天梯</th>\n",
" <th>Sigma</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5775da14b14d7c88da045593+1</td>\n",
" <td>853</td>\n",
" <td>2000</td>\n",
" <td>True</td>\n",
" <td>2099</td>\n",
" <td>7.538918</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5775da14b14d7c88da045593+2</td>\n",
" <td>932</td>\n",
" <td>2099</td>\n",
" <td>True</td>\n",
" <td>2171</td>\n",
" <td>6.952727</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5775da14b14d7c88da045593+3</td>\n",
" <td>1276</td>\n",
" <td>2171</td>\n",
" <td>True</td>\n",
" <td>2272</td>\n",
" <td>6.260634</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>5775da14b14d7c88da045593+4</td>\n",
" <td>751</td>\n",
" <td>2272</td>\n",
" <td>True</td>\n",
" <td>2288</td>\n",
" <td>6.104072</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5775da14b14d7c88da045593+5</td>\n",
" <td>1055</td>\n",
" <td>2288</td>\n",
" <td>True</td>\n",
" <td>2321</td>\n",
" <td>5.828688</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>5775da14b14d7c88da045593+6</td>\n",
" <td>1315</td>\n",
" <td>2321</td>\n",
" <td>True</td>\n",
" <td>2373</td>\n",
" <td>5.462853</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>57873e8358fc4a7348e065a9+1</td>\n",
" <td>1083</td>\n",
" <td>2373</td>\n",
" <td>True</td>\n",
" <td>2393</td>\n",
" <td>5.295590</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>57873e8358fc4a7348e065a9+2</td>\n",
" <td>1724</td>\n",
" <td>2393</td>\n",
" <td>False</td>\n",
" <td>1931</td>\n",
" <td>4.235304</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>57873e8358fc4a7348e065a9+2</td>\n",
" <td>1748</td>\n",
" <td>1931</td>\n",
" <td>False</td>\n",
" <td>1719</td>\n",
" <td>3.690926</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>57873e8358fc4a7348e065a9+2</td>\n",
" <td>1757</td>\n",
" <td>1719</td>\n",
" <td>False</td>\n",
" <td>1591</td>\n",
" <td>3.345344</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>57873e8358fc4a7348e065a9+2</td>\n",
" <td>1761</td>\n",
" <td>1591</td>\n",
" <td>True</td>\n",
" <td>1733</td>\n",
" <td>3.044750</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>57873e8358fc4a7348e065a9+3</td>\n",
" <td>2059</td>\n",
" <td>1733</td>\n",
" <td>False</td>\n",
" <td>1676</td>\n",
" <td>2.878837</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>57873e8358fc4a7348e065a9+3</td>\n",
" <td>2065</td>\n",
" <td>1676</td>\n",
" <td>False</td>\n",
" <td>1631</td>\n",
" <td>2.745879</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>57873e8358fc4a7348e065a9+3</td>\n",
" <td>2069</td>\n",
" <td>1631</td>\n",
" <td>False</td>\n",
" <td>1594</td>\n",
" <td>2.635956</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>57873e8358fc4a7348e065a9+3</td>\n",
" <td>2073</td>\n",
" <td>1594</td>\n",
" <td>True</td>\n",
" <td>1727</td>\n",
" <td>2.457149</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>57873ed358fc4a41e70c01dd+1</td>\n",
" <td>1041</td>\n",
" <td>1727</td>\n",
" <td>True</td>\n",
" <td>1743</td>\n",
" <td>2.403373</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>57873ed358fc4a41e70c01dd+2</td>\n",
" <td>1967</td>\n",
" <td>1743</td>\n",
" <td>False</td>\n",
" <td>1699</td>\n",
" <td>2.308295</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>57873ed358fc4a41e70c01dd+2</td>\n",
" <td>1973</td>\n",
" <td>1699</td>\n",
" <td>True</td>\n",
" <td>1783</td>\n",
" <td>2.192803</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>57873ed358fc4a41e70c01dd+3</td>\n",
" <td>1641</td>\n",
" <td>1783</td>\n",
" <td>True</td>\n",
" <td>1825</td>\n",
" <td>2.114375</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>57873ed358fc4a41e70c01dd+4</td>\n",
" <td>1998</td>\n",
" <td>1825</td>\n",
" <td>True</td>\n",
" <td>1888</td>\n",
" <td>2.028139</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>57873f6458fc4a44bd03b92b+1</td>\n",
" <td>1547</td>\n",
" <td>1888</td>\n",
" <td>True</td>\n",
" <td>1913</td>\n",
" <td>1.979021</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>57873f6458fc4a44bd03b92b+2</td>\n",
" <td>1757</td>\n",
" <td>1913</td>\n",
" <td>False</td>\n",
" <td>1860</td>\n",
" <td>1.911643</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>57873f6458fc4a44bd03b92b+2</td>\n",
" <td>1790</td>\n",
" <td>1860</td>\n",
" <td>True</td>\n",
" <td>1896</td>\n",
" <td>1.858327</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>57873f6458fc4a44bd03b92b+3</td>\n",
" <td>2082</td>\n",
" <td>1896</td>\n",
" <td>False</td>\n",
" <td>1868</td>\n",
" <td>1.813118</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>57873f6458fc4a44bd03b92b+3</td>\n",
" <td>2097</td>\n",
" <td>1868</td>\n",
" <td>False</td>\n",
" <td>1843</td>\n",
" <td>1.772772</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>57873f6458fc4a44bd03b92b+3</td>\n",
" <td>2111</td>\n",
" <td>1843</td>\n",
" <td>False</td>\n",
" <td>1821</td>\n",
" <td>1.736509</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>57873f6458fc4a44bd03b92b+3</td>\n",
" <td>2124</td>\n",
" <td>1821</td>\n",
" <td>False</td>\n",
" <td>1801</td>\n",
" <td>1.703711</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>57873f6458fc4a44bd03b92b+3</td>\n",
" <td>2135</td>\n",
" <td>1801</td>\n",
" <td>False</td>\n",
" <td>1783</td>\n",
" <td>1.673885</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>57873f6458fc4a44bd03b92b+4</td>\n",
" <td>1869</td>\n",
" <td>1783</td>\n",
" <td>False</td>\n",
" <td>1756</td>\n",
" <td>1.638422</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>57873f6458fc4a44bd03b92b+4</td>\n",
" <td>1889</td>\n",
" <td>1756</td>\n",
" <td>True</td>\n",
" <td>1792</td>\n",
" <td>1.600196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>57873f6458fc4a44bd03b92b+5</td>\n",
" <td>2189</td>\n",
" <td>1792</td>\n",
" <td>False</td>\n",
" <td>1778</td>\n",
" <td>1.577650</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>57873f6458fc4a44bd03b92b+5</td>\n",
" <td>2198</td>\n",
" <td>1778</td>\n",
" <td>True</td>\n",
" <td>1826</td>\n",
" <td>1.538982</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>57873f6458fc4a44bd03b92b+6</td>\n",
" <td>2256</td>\n",
" <td>1826</td>\n",
" <td>False</td>\n",
" <td>1814</td>\n",
" <td>1.519977</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>57873f6458fc4a44bd03b92b+6</td>\n",
" <td>2263</td>\n",
" <td>1814</td>\n",
" <td>False</td>\n",
" <td>1803</td>\n",
" <td>1.502273</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 题目ID 题目天梯 做题前天梯 正误 做题后天梯 Sigma\n",
"0 5775da14b14d7c88da045593+1 853 2000 True 2099 7.538918\n",
"1 5775da14b14d7c88da045593+2 932 2099 True 2171 6.952727\n",
"2 5775da14b14d7c88da045593+3 1276 2171 True 2272 6.260634\n",
"3 5775da14b14d7c88da045593+4 751 2272 True 2288 6.104072\n",
"4 5775da14b14d7c88da045593+5 1055 2288 True 2321 5.828688\n",
"5 5775da14b14d7c88da045593+6 1315 2321 True 2373 5.462853\n",
"6 57873e8358fc4a7348e065a9+1 1083 2373 True 2393 5.295590\n",
"7 57873e8358fc4a7348e065a9+2 1724 2393 False 1931 4.235304\n",
"8 57873e8358fc4a7348e065a9+2 1748 1931 False 1719 3.690926\n",
"9 57873e8358fc4a7348e065a9+2 1757 1719 False 1591 3.345344\n",
"10 57873e8358fc4a7348e065a9+2 1761 1591 True 1733 3.044750\n",
"11 57873e8358fc4a7348e065a9+3 2059 1733 False 1676 2.878837\n",
"12 57873e8358fc4a7348e065a9+3 2065 1676 False 1631 2.745879\n",
"13 57873e8358fc4a7348e065a9+3 2069 1631 False 1594 2.635956\n",
"14 57873e8358fc4a7348e065a9+3 2073 1594 True 1727 2.457149\n",
"15 57873ed358fc4a41e70c01dd+1 1041 1727 True 1743 2.403373\n",
"16 57873ed358fc4a41e70c01dd+2 1967 1743 False 1699 2.308295\n",
"17 57873ed358fc4a41e70c01dd+2 1973 1699 True 1783 2.192803\n",
"18 57873ed358fc4a41e70c01dd+3 1641 1783 True 1825 2.114375\n",
"19 57873ed358fc4a41e70c01dd+4 1998 1825 True 1888 2.028139\n",
"20 57873f6458fc4a44bd03b92b+1 1547 1888 True 1913 1.979021\n",
"21 57873f6458fc4a44bd03b92b+2 1757 1913 False 1860 1.911643\n",
"22 57873f6458fc4a44bd03b92b+2 1790 1860 True 1896 1.858327\n",
"23 57873f6458fc4a44bd03b92b+3 2082 1896 False 1868 1.813118\n",
"24 57873f6458fc4a44bd03b92b+3 2097 1868 False 1843 1.772772\n",
"25 57873f6458fc4a44bd03b92b+3 2111 1843 False 1821 1.736509\n",
"26 57873f6458fc4a44bd03b92b+3 2124 1821 False 1801 1.703711\n",
"27 57873f6458fc4a44bd03b92b+3 2135 1801 False 1783 1.673885\n",
"28 57873f6458fc4a44bd03b92b+4 1869 1783 False 1756 1.638422\n",
"29 57873f6458fc4a44bd03b92b+4 1889 1756 True 1792 1.600196\n",
"30 57873f6458fc4a44bd03b92b+5 2189 1792 False 1778 1.577650\n",
"31 57873f6458fc4a44bd03b92b+5 2198 1778 True 1826 1.538982\n",
"32 57873f6458fc4a44bd03b92b+6 2256 1826 False 1814 1.519977\n",
"33 57873f6458fc4a44bd03b92b+6 2263 1814 False 1803 1.502273"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1196137b8>"
]
},
"execution_count": 107,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nJCISYAoCIiIBpiAgIhJgCgIiIgGmICAiEmAKAiIiAdZsuoiq66eISOKpJiAiEmAKAiIiAaYgICIS\nYAoCIiIBpiAgIhJgCgIiIgGmICAiEmAKAiIiAdZsBos1FQ1SE5GWTDUBEZEAUxAQEQkwBQERkQBT\nEBARCTAFARGRAFMQEBEJMAUBEZEAUxAQEQkwBQERkQBTEBARCTAFARGRAFMQEBEJMAUBEZEAUxAQ\nEQkwBQERkQBTEBARCTAFARGRAKtXEDCzTWa2wsyWmdkiLy3HzN4xs3Xe346+/JPMbL2ZFZrZ6PoW\nXkRE6icRNYFLnHNDnXMF3uOJwBznXH9gjvcYMxsEjAMGA2OAx80sNQGvLyIiddQQzUHXAFO99anA\nWF/6K865MufcRmA9MLwBXl9ERGJU3yDggHfNbLGZTfDSujjndnjrO4Eu3no+sNW37TYvTUREmkha\nPbe/0DlXZGadgXfMbK3/SeecMzMX7069gDIBoFevXvUsooiIRFOvmoBzrsj7uxv4M6HmnV1m1g3A\n+7vby14E9PRt3sNLi7TfJ51zBc65gry8vPoUUURETqHOQcDM2phZu+p14HJgJTATGO9lGw/M8NZn\nAuPMLMPM+gL9gQV1fX0REam/+jQHdQH+bGbV+3nJOfeWmS0EppnZLcBm4HoA59wqM5sGrAYqgDuc\nc5X1Kr2IiNRLnYOAc24DcHaE9L3AZVG2eQB4oK6vKSIiiaURwyIiAaYgICISYAoCIiIBpiAgIhJg\nCgIiIgGmICAiEmAKAiIiAaYgICISYAoCIiIBpiAgIhJgCgIiIgGmICAiEmAKAiIiAaYgICISYAoC\nIiIBpiAgIhJgCgIiIgGmICAiEmAKAiIiAaYgICISYAoCIiIBpiAgIhJgCgIiIgGmICAiEmAKAiIi\nAaYgICISYAoCIiIBpiAgIhJgCgIiIgGmICAiEmAKAiIiAaYgICISYAoCIiIBpiAgIhJgjR4EzGyM\nmRWa2Xozm9jYry8iIic0ahAws1TgN8AVwCDgBjMb1JhlEBGRExq7JjAcWO+c2+CcOwa8AlzTyGUQ\nERFPYweBfGCr7/E2L01ERJqAOeca78XMrgPGOOf+y3t8IzDCOfetsHwTgAnewwFAYdiuOgGf1vJy\nseQJWr5kLlui8yVz2ZoqXzKXLdH5krlsjZWvt3Mur9YtnXONtgCfAWb7Hk8CJtVhP4sSkSdo+ZK5\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11962a8d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pipeline = [\n",
" {\"$group\": {\"_id\": \"$humanId\", \"sumT\": {\"$sum\": 1}, \"correctT\": {\"$sum\": {\"$cond\": [\"$correct\", 1, 0]}}}},\n",
" {\"$match\": {\"correctT\": {\"$gt\": 0}}},\n",
" {\"$project\": {\"sumT\": 1, \"dT\": {\"$divide\": [\"$sumT\", \"$correctT\"]}}},\n",
" {\"$match\": {\"sumT\": {\"$gte\": 12, \"$lt\": 35}, \"dT\": {\"$gte\": 2}}},\n",
" {\"$sort\": {\"dT\": 1, \"sumT\": -1}}\n",
"]\n",
"x = logs.aggregate(pipeline)\n",
"# print(list(x)[0])\n",
"uid = list(x)[0]['_id']\n",
"\n",
"x = logs.find({\"humanId\": uid}, {\"_id\": 0, \"problemId\": 1,\"problemEloBefore\":1 ,\"humanEloBefore\": 1, \"humanEloAfter\": 1, \"humanSigmaAfter\": 1, \"correct\": 1})\n",
"\n",
"\n",
"df = pd.DataFrame(list(x))\n",
"df[\"humanEloBefore\"] = df[\"humanEloBefore\"].apply(lambda t: round(t * 80))\n",
"df[\"humanEloAfter\"] = df[\"humanEloAfter\"].apply(lambda t: round(t * 80))\n",
"df[\"problemEloBefore\"] = df[\"problemEloBefore\"].apply(lambda t: round(t * 80))\n",
"df = df[['problemId', 'problemEloBefore', 'humanEloBefore', 'correct', 'humanEloAfter', 'humanSigmaAfter']]\n",
"df = df.rename(columns={\n",
" 'problemId':'题目ID', \n",
" 'problemEloBefore':'题目天梯', \n",
" 'humanEloBefore':'做题前天梯', \n",
" 'correct':'正误', \n",
" 'humanEloAfter':'做题后天梯', \n",
" 'humanSigmaAfter':'Sigma'})\n",
"display(df)\n",
"\n",
"s = df['做题后天梯']\n",
"colors = {True: 'g', False: 'r'}\n",
"ax = s.plot(kind='line', marker='o')\n",
"df['题目天梯'].plot(kind='bar', color=[colors[i] for i in df['正误']],ax=ax)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [default]",
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment