{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import os\nimport pandas as pd\nfrom datetime import datetime\nimport ciso8601\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport time\nimport sys\nimport math\n","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"seasons = [\"reg-wk1-6\", \"reg-wk7-12\", \"reg-wk13-17\", \"post\"]\nyears = [\"2016\", \"2017\"]\nyears = [\"2017\"]\n\n\nfor year in years:\n    for season in seasons:\n        currentFile = '../input/NGS-' + year + '-' + season + '.csv'\n        print(\"Loading:\", currentFile)\n        ngsDataRaw = pd.read_csv(currentFile)\n        print(\"Processing...\")\n        # drop columns with no GSISID\n        ngsData = ngsDataRaw.loc[ngsDataRaw[\"GSISID\"] == ngsDataRaw[\"GSISID\"]].copy()\n        ngsData.sort_values(by=[\"Time\"], inplace=True)\n        # add extra column\n        ngsData['speed'] = ''\n        ngsData['Elapsed Time'] = np.NaN\n        # get unique GIDs\n        uniqueGIDs = ngsData[\"GSISID\"].unique()\n\n        j = 0\n        for GID in uniqueGIDs:\n            j += 1\n            print(\"GID\", GID, \"(\", j, \"out of\", len(uniqueGIDs), \")\")\n            GIDSubset = ngsData.loc[ngsData[\"GSISID\"] == GID]\n            uniquePlayIDs = GIDSubset[\"PlayID\"].unique()\n            \n            for play in uniquePlayIDs:\n                currentSet = GIDSubset[GIDSubset[\"PlayID\"] == play]\n                d0 = ciso8601.parse_datetime(currentSet.iloc[0]['Time'])\n                d2 = d0\n                for i in range(1,len(currentSet.index)):\n                    d1 = d2\n                    d2 = ciso8601.parse_datetime(currentSet.iloc[i]['Time'])\n                    timeDelta = d2-d1\n                    timeDeltaSeconds = (timeDelta.seconds) + (timeDelta.microseconds / 1000000)\n                    distance = currentSet.iloc[i][\"dis\"]\n                    ngsData.at[currentSet.iloc[i].name, 'speed'] = distance/timeDeltaSeconds\n                    \n            sys.stdout.write(\" Complete.\\n\")\n\n        ngsData.to_csv(year + '-' + season + '-output.csv', index = False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"54d5e3e1652ac419a00c861a32cc8d7445a6c940"},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"59dd04c47f3964180f1627dd548444fce6debb0b"},"cell_type":"markdown","source":"### TODO\n<ul>\n</ul>"}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}