{"cells": [{"outputs": [], "source": ["\n", "\n", "get_ipython().magic('load_ext autoreload')\n", "get_ipython().magic('autoreload 2')\n", "get_ipython().magic('matplotlib inline')\n", "\n", "\n", "# In[2]:\n", "\n", "\n", "import pandas as pd\n", "import numpy as np\n", "from datetime import timedelta          \n", "\n", "oil =  pd.read_csv('../input/unzipped-oil-csv/oil.csv', parse_dates=['date'])\n", "print(oil.isna().sum())\n", "print(oil.shape)\n", "start_date = oil.date.min()\n", "end_date = oil.date.max()\n", "print(start_date, end_date)\n", "# In[57]:\n", "new_index = pd.date_range(start_date, end_date)\n", "\n", "oil.index = pd.DatetimeIndex(oil.date)\n", "oil.shape\n", "\n", "oil.isna().sum()\n", "oil = oil.reindex(new_index, fill_value = 0)\n", "oil2 = oil.copy()\n", "oil2.drop('date', axis=1, inplace=True)\n", "oil2.index.name= 'date'\n", "oil3 = oil2.reset_index()\n", "\n", "\n", "dcoilwtico = oil3.dcoilwtico.copy()\n", "dcoilwtico[0] = 93.14\n", "\n", "dcoilwtico2 = dcoilwtico.copy()\n", "dcoilwtico2.name = 'inputed_price'\n", "\n", "\n", "# In[158]:\n", "\n", "\n", "check = False\n", "for idx,ele in enumerate(dcoilwtico2):\n", "    if check:\n", "        if (ele == 0 or np.isnan(ele)):\n", "            count = count + 1\n", "        else:\n", "            difference = float(ele) - avg_start_val\n", "            for i in range(0, count):\n", "                dcoilwtico2[start_idx + i] = avg_start_val + (i+1) * float(difference/float(count+1))    \n", "            check = False\n", "            del avg_start_val\n", "            \n", "    elif (ele == 0.0 or np.isnan(ele)):\n", "        count = 1\n", "        avg_start_val = float(dcoilwtico2[idx - 1])\n", "        start_idx = idx\n", "        check = True\n", "\n", "\n", "# In[159]:\n", "\n", "\n", "newf = pd.concat([oil3,dcoilwtico2], axis=1)\n", "\n", "\n", "# In[160]:\n", "\n", "\n", "newf = newf.drop('dcoilwtico', axis=1)\n", "\n", "\n", "# In[163]:\n", "\n", "print(newf)\n", "#newf.to_csv('/home/ubuntu/projects/grocery/new_oil')\n", "\n", "\n", "# In[162]:\n", "\n", "\n", "#plt.plot(newf.imputed_price)\n", "\n"], "metadata": {"_uuid": "62ab66c014fec5396e207350dddcc25ebffb2994", "_cell_guid": "642e5c79-2b01-47aa-8f02-275c9e6f5448", "_kg_hide-output": true}, "cell_type": "code", "execution_count": null}], "nbformat_minor": 1, "metadata": {"language_info": {"pygments_lexer": "ipython3", "nbconvert_exporter": "python", "codemirror_mode": {"version": 3, "name": "ipython"}, "version": "3.6.3", "mimetype": "text/x-python", "name": "python", "file_extension": ".py"}, "kernelspec": {"name": "python3", "language": "python", "display_name": "Python 3"}}, "nbformat": 4}