Created
January 15, 2021 23:38
-
-
Save kd2718/2a117f3518ba615091e9c3944295dc19 to your computer and use it in GitHub Desktop.
Fixed_pandas_diff.ipynb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"name": "Fixed_pandas_diff.ipynb", | |
"provenance": [], | |
"collapsed_sections": [], | |
"authorship_tag": "ABX9TyPAHGJ1gxPQOMvRXxdoiMxT", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/kd2718/2a117f3518ba615091e9c3944295dc19/fixed_pandas_diff.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "SrRFinBpY0Xu" | |
}, | |
"source": [ | |
"\r\n", | |
"\r\n", | |
"import pandas as pd\r\n", | |
"import numpy as np\r\n", | |
"\r\n" | |
], | |
"execution_count": 1, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "rlNtOOA2Y2di" | |
}, | |
"source": [ | |
"student_log = pd.DataFrame(columns=['student_id', 'timestamp'])\r\n", | |
"\r\n", | |
"for i in range(4):\r\n", | |
" num_pairs = np.random.randint(low=1, high=6)*2\r\n", | |
" inout = np.arange(num_pairs, dtype=np.float)\r\n", | |
" inout += np.random.uniform(0,30,num_pairs)\r\n", | |
" inout.sort()\r\n", | |
" student_log = student_log.append(pd.DataFrame({'student_id': i, 'timestamp': inout}), ignore_index=True)\r\n", | |
"\r\n", | |
"student_log = student_log.sample(frac=1.0).reset_index(drop=True)" | |
], | |
"execution_count": 2, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 1000 | |
}, | |
"id": "q8n_nqkIY4gJ", | |
"outputId": "49b860aa-7032-4b1e-f588-fa3380433ae8" | |
}, | |
"source": [ | |
"student_log" | |
], | |
"execution_count": 3, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>student_id</th>\n", | |
" <th>timestamp</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>3</td>\n", | |
" <td>8.670722</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0</td>\n", | |
" <td>13.065602</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>1</td>\n", | |
" <td>35.566858</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>3</td>\n", | |
" <td>5.656746</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2</td>\n", | |
" <td>22.165469</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>2</td>\n", | |
" <td>16.240534</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>3</td>\n", | |
" <td>29.656675</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>1</td>\n", | |
" <td>25.008495</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>0</td>\n", | |
" <td>10.796810</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>3</td>\n", | |
" <td>9.947491</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>2</td>\n", | |
" <td>32.359879</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>1</td>\n", | |
" <td>6.623759</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>0</td>\n", | |
" <td>22.799303</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>1</td>\n", | |
" <td>10.096210</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>0</td>\n", | |
" <td>14.368589</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>0</td>\n", | |
" <td>5.411768</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>0</td>\n", | |
" <td>2.287429</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>2</td>\n", | |
" <td>37.896404</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>3</td>\n", | |
" <td>25.371958</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>2</td>\n", | |
" <td>18.965860</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>2</td>\n", | |
" <td>11.752484</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>1</td>\n", | |
" <td>33.439145</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>2</td>\n", | |
" <td>3.796558</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>1</td>\n", | |
" <td>32.222199</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>1</td>\n", | |
" <td>6.280584</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>1</td>\n", | |
" <td>21.501656</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>2</td>\n", | |
" <td>21.490094</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>2</td>\n", | |
" <td>14.119912</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>2</td>\n", | |
" <td>13.842097</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>1</td>\n", | |
" <td>22.651648</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>1</td>\n", | |
" <td>6.179600</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>3</td>\n", | |
" <td>10.068827</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" student_id timestamp\n", | |
"0 3 8.670722\n", | |
"1 0 13.065602\n", | |
"2 1 35.566858\n", | |
"3 3 5.656746\n", | |
"4 2 22.165469\n", | |
"5 2 16.240534\n", | |
"6 3 29.656675\n", | |
"7 1 25.008495\n", | |
"8 0 10.796810\n", | |
"9 3 9.947491\n", | |
"10 2 32.359879\n", | |
"11 1 6.623759\n", | |
"12 0 22.799303\n", | |
"13 1 10.096210\n", | |
"14 0 14.368589\n", | |
"15 0 5.411768\n", | |
"16 0 2.287429\n", | |
"17 2 37.896404\n", | |
"18 3 25.371958\n", | |
"19 2 18.965860\n", | |
"20 2 11.752484\n", | |
"21 1 33.439145\n", | |
"22 2 3.796558\n", | |
"23 1 32.222199\n", | |
"24 1 6.280584\n", | |
"25 1 21.501656\n", | |
"26 2 21.490094\n", | |
"27 2 14.119912\n", | |
"28 2 13.842097\n", | |
"29 1 22.651648\n", | |
"30 1 6.179600\n", | |
"31 3 10.068827" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"execution_count": 3 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 1000 | |
}, | |
"id": "EQvJAjVcY6fi", | |
"outputId": "a72e6b14-de97-4ca2-e2d6-d658b28da51b" | |
}, | |
"source": [ | |
"student_log = student_log.sort_values(['student_id', 'timestamp'])\r\n", | |
"student_log" | |
], | |
"execution_count": 4, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>student_id</th>\n", | |
" <th>timestamp</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>0</td>\n", | |
" <td>2.287429</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>0</td>\n", | |
" <td>5.411768</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>0</td>\n", | |
" <td>10.796810</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0</td>\n", | |
" <td>13.065602</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>0</td>\n", | |
" <td>14.368589</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>0</td>\n", | |
" <td>22.799303</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>1</td>\n", | |
" <td>6.179600</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>1</td>\n", | |
" <td>6.280584</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>1</td>\n", | |
" <td>6.623759</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>1</td>\n", | |
" <td>10.096210</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>1</td>\n", | |
" <td>21.501656</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>1</td>\n", | |
" <td>22.651648</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>1</td>\n", | |
" <td>25.008495</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>1</td>\n", | |
" <td>32.222199</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>1</td>\n", | |
" <td>33.439145</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>1</td>\n", | |
" <td>35.566858</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>2</td>\n", | |
" <td>3.796558</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>2</td>\n", | |
" <td>11.752484</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>2</td>\n", | |
" <td>13.842097</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>2</td>\n", | |
" <td>14.119912</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>2</td>\n", | |
" <td>16.240534</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>2</td>\n", | |
" <td>18.965860</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>2</td>\n", | |
" <td>21.490094</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2</td>\n", | |
" <td>22.165469</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>2</td>\n", | |
" <td>32.359879</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>2</td>\n", | |
" <td>37.896404</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>3</td>\n", | |
" <td>5.656746</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>3</td>\n", | |
" <td>8.670722</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>3</td>\n", | |
" <td>9.947491</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>3</td>\n", | |
" <td>10.068827</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>3</td>\n", | |
" <td>25.371958</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>3</td>\n", | |
" <td>29.656675</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" student_id timestamp\n", | |
"16 0 2.287429\n", | |
"15 0 5.411768\n", | |
"8 0 10.796810\n", | |
"1 0 13.065602\n", | |
"14 0 14.368589\n", | |
"12 0 22.799303\n", | |
"30 1 6.179600\n", | |
"24 1 6.280584\n", | |
"11 1 6.623759\n", | |
"13 1 10.096210\n", | |
"25 1 21.501656\n", | |
"29 1 22.651648\n", | |
"7 1 25.008495\n", | |
"23 1 32.222199\n", | |
"21 1 33.439145\n", | |
"2 1 35.566858\n", | |
"22 2 3.796558\n", | |
"20 2 11.752484\n", | |
"28 2 13.842097\n", | |
"27 2 14.119912\n", | |
"5 2 16.240534\n", | |
"19 2 18.965860\n", | |
"26 2 21.490094\n", | |
"4 2 22.165469\n", | |
"10 2 32.359879\n", | |
"17 2 37.896404\n", | |
"3 3 5.656746\n", | |
"0 3 8.670722\n", | |
"9 3 9.947491\n", | |
"31 3 10.068827\n", | |
"18 3 25.371958\n", | |
"6 3 29.656675" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"execution_count": 4 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "i9a-3ByGZRDy" | |
}, | |
"source": [ | |
"" | |
], | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 363 | |
}, | |
"id": "okG6dd_YZH3B", | |
"outputId": "a8a61bfb-772f-4931-ba3c-330455c6deb6" | |
}, | |
"source": [ | |
"student_log.diff().head(10)" | |
], | |
"execution_count": 5, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>student_id</th>\n", | |
" <th>timestamp</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>0</td>\n", | |
" <td>3.124339</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>0</td>\n", | |
" <td>5.385042</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0</td>\n", | |
" <td>2.268792</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>0</td>\n", | |
" <td>1.302986</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>0</td>\n", | |
" <td>8.430714</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>1</td>\n", | |
" <td>-16.619703</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>0</td>\n", | |
" <td>0.100984</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>0</td>\n", | |
" <td>0.343175</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>0</td>\n", | |
" <td>3.472452</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" student_id timestamp\n", | |
"16 NaN NaN\n", | |
"15 0 3.124339\n", | |
"8 0 5.385042\n", | |
"1 0 2.268792\n", | |
"14 0 1.302986\n", | |
"12 0 8.430714\n", | |
"30 1 -16.619703\n", | |
"24 0 0.100984\n", | |
"11 0 0.343175\n", | |
"13 0 3.472452" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"execution_count": 5 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 206 | |
}, | |
"id": "Lfg-aB9hZOXw", | |
"outputId": "95acc59b-cfcb-470b-df5b-099245eaf2c3" | |
}, | |
"source": [ | |
"\r\n", | |
"\r\n", | |
"student_log['diff'] = student_log.groupby('student_id').diff(periods=1)\r\n", | |
"student_log.iloc[1::2,:].groupby('student_id').sum('diff')\r\n", | |
"\r\n" | |
], | |
"execution_count": 7, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>timestamp</th>\n", | |
" <th>diff</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>student_id</th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>41.276673</td>\n", | |
" <td>13.823845</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>106.817499</td>\n", | |
" <td>14.064844</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>104.900129</td>\n", | |
" <td>17.170968</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>48.396224</td>\n", | |
" <td>7.420030</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" timestamp diff\n", | |
"student_id \n", | |
"0 41.276673 13.823845\n", | |
"1 106.817499 14.064844\n", | |
"2 104.900129 17.170968\n", | |
"3 48.396224 7.420030" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"execution_count": 7 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 206 | |
}, | |
"id": "66q6wp6MZoJr", | |
"outputId": "7bebddd2-c20d-4320-cbfc-1d7a340dcf46" | |
}, | |
"source": [ | |
"# old way\r\n", | |
"student_log.groupby('student_id').sum('diff')" | |
], | |
"execution_count": 8, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>timestamp</th>\n", | |
" <th>diff</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>student_id</th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>68.729501</td>\n", | |
" <td>20.511873</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>199.570154</td>\n", | |
" <td>29.387258</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>192.629291</td>\n", | |
" <td>34.099846</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>89.372419</td>\n", | |
" <td>23.999929</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" timestamp diff\n", | |
"student_id \n", | |
"0 68.729501 20.511873\n", | |
"1 199.570154 29.387258\n", | |
"2 192.629291 34.099846\n", | |
"3 89.372419 23.999929" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"execution_count": 8 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 238 | |
}, | |
"id": "ldZzSt6VaKDs", | |
"outputId": "c726c591-d30a-4c4a-8acc-8d62fa025aa9" | |
}, | |
"source": [ | |
"# check\r\n", | |
"student_log[student_log['student_id'] == 0]" | |
], | |
"execution_count": 10, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>student_id</th>\n", | |
" <th>timestamp</th>\n", | |
" <th>diff</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>0</td>\n", | |
" <td>2.287429</td>\n", | |
" <td>NaN</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>0</td>\n", | |
" <td>5.411768</td>\n", | |
" <td>3.124339</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>0</td>\n", | |
" <td>10.796810</td>\n", | |
" <td>5.385042</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0</td>\n", | |
" <td>13.065602</td>\n", | |
" <td>2.268792</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>0</td>\n", | |
" <td>14.368589</td>\n", | |
" <td>1.302986</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>0</td>\n", | |
" <td>22.799303</td>\n", | |
" <td>8.430714</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" student_id timestamp diff\n", | |
"16 0 2.287429 NaN\n", | |
"15 0 5.411768 3.124339\n", | |
"8 0 10.796810 5.385042\n", | |
"1 0 13.065602 2.268792\n", | |
"14 0 14.368589 1.302986\n", | |
"12 0 22.799303 8.430714" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"execution_count": 10 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "QHZY4L0YaQX1", | |
"outputId": "4beb131b-0778-4de4-8254-390b4d00e561" | |
}, | |
"source": [ | |
"# every other row sum by hand\r\n", | |
"3.124339 + 2.268792 + 8.430714" | |
], | |
"execution_count": 11, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"13.823845" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"execution_count": 11 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "SvpJ3h2sacGe" | |
}, | |
"source": [ | |
"" | |
], | |
"execution_count": null, | |
"outputs": [] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment