{"nbformat":4,"nbformat_minor":0,"metadata":{"kernelspec":{"display_name":"Python 3","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.6.8"},"colab":{"name":"pandas_tutorial.ipynb","provenance":[{"file_id":"1-SyBep2nE37sBpiOGsUIRmVDKd6GQcoZ","timestamp":1632333482843}]}},"cells":[{"cell_type":"markdown","metadata":{"id":"ghkGDeFHmd-r"},"source":["# Pandas"]},{"cell_type":"markdown","metadata":{"id":"Ikw9RV6rmd-u"},"source":["Partially from https://pandas.pydata.org/docs/user_guide/10min.html\n"," \n","Official site: https://pandas.pydata.org/\n","\n","Documentation at https://pandas.pydata.org/docs/\n"]},{"cell_type":"markdown","metadata":{"id":"nFu4kHDNmd-v"},"source":["## Imports"]},{"cell_type":"code","metadata":{"id":"sZNrMdxRmd-v","executionInfo":{"status":"ok","timestamp":1632419879567,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}}},"source":["import pandas as pd\n","\n","import numpy as np\n","\n","import matplotlib.pyplot as plt"],"execution_count":1,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"Yd0vC6CMmd-w"},"source":["## Object Creation<br>\n","Creating a Series by passing a list of values, letting pandas create a default integer index"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"RejJKbw-md-x","executionInfo":{"status":"ok","timestamp":1632379203074,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"674a97c4-5328-4cdb-8a57-447ed38e1112"},"source":["s = pd.Series([1,3,5,np.nan,6,8])\n","s"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0    1.0\n","1    3.0\n","2    5.0\n","3    NaN\n","4    6.0\n","5    8.0\n","dtype: float64"]},"metadata":{},"execution_count":3}]},{"cell_type":"markdown","metadata":{"id":"u4YlNTQcmd-y"},"source":["Creating a DataFrame by passing a numpy array, with a datetime index and labeled columns."]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"X48-0u0hmd-z","executionInfo":{"status":"ok","timestamp":1632379204476,"user_tz":-120,"elapsed":456,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"9424b162-df68-42d0-ec00-44a09504a20a"},"source":["dates = pd.date_range('20130101',periods=6)\n","dates"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',\n","               '2013-01-05', '2013-01-06'],\n","              dtype='datetime64[ns]', freq='D')"]},"metadata":{},"execution_count":4}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":235},"id":"WXa-_rI6md-z","executionInfo":{"status":"ok","timestamp":1632379205392,"user_tz":-120,"elapsed":392,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"dbe20c1c-c54c-4404-ef4c-c30258004bd6"},"source":["df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))\n","df"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>0.914406</td>\n","      <td>0.121417</td>\n","      <td>-1.066553</td>\n","      <td>2.018884</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-1.296982</td>\n","      <td>1.160410</td>\n","      <td>0.014724</td>\n","      <td>1.849905</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.720948</td>\n","      <td>-0.598234</td>\n","      <td>-2.435821</td>\n","      <td>0.494756</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>0.014188</td>\n","      <td>0.333015</td>\n","      <td>-1.742847</td>\n","      <td>-0.285276</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>0.432983</td>\n","      <td>-0.054651</td>\n","      <td>-0.196122</td>\n","      <td>1.199866</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-06</th>\n","      <td>-0.598831</td>\n","      <td>-0.151269</td>\n","      <td>-0.096163</td>\n","      <td>1.982736</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-01  0.914406  0.121417 -1.066553  2.018884\n","2013-01-02 -1.296982  1.160410  0.014724  1.849905\n","2013-01-03  0.720948 -0.598234 -2.435821  0.494756\n","2013-01-04  0.014188  0.333015 -1.742847 -0.285276\n","2013-01-05  0.432983 -0.054651 -0.196122  1.199866\n","2013-01-06 -0.598831 -0.151269 -0.096163  1.982736"]},"metadata":{},"execution_count":5}]},{"cell_type":"markdown","metadata":{"id":"pZeocemVmd-0"},"source":["Creating a DataFrame by passing a dict of objects that can be converted to series-like."]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":173},"id":"nj0_ZN0Emd-0","executionInfo":{"status":"ok","timestamp":1632379207026,"user_tz":-120,"elapsed":1038,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"11c8510c-b238-439e-c457-610fd9773c1e"},"source":["df2 = pd.DataFrame({ 'A' : 1.,\n","                     'B' : pd.Timestamp('20130102'),\n","                     'C' : pd.Series(1,index=list(range(4)),dtype='float32'),\n","                     'D' : np.array([3] * 4,dtype='int32'),\n","                     'E' : pd.Categorical([\"test\",\"train\",\"test\",\"train\"]),\n","                     'F' : 'foo' })\n","df2\n","#keys->columns"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","      <th>E</th>\n","      <th>F</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>1.0</td>\n","      <td>2013-01-02</td>\n","      <td>1.0</td>\n","      <td>3</td>\n","      <td>test</td>\n","      <td>foo</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>1.0</td>\n","      <td>2013-01-02</td>\n","      <td>1.0</td>\n","      <td>3</td>\n","      <td>train</td>\n","      <td>foo</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>1.0</td>\n","      <td>2013-01-02</td>\n","      <td>1.0</td>\n","      <td>3</td>\n","      <td>test</td>\n","      <td>foo</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>1.0</td>\n","      <td>2013-01-02</td>\n","      <td>1.0</td>\n","      <td>3</td>\n","      <td>train</td>\n","      <td>foo</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["     A          B    C  D      E    F\n","0  1.0 2013-01-02  1.0  3   test  foo\n","1  1.0 2013-01-02  1.0  3  train  foo\n","2  1.0 2013-01-02  1.0  3   test  foo\n","3  1.0 2013-01-02  1.0  3  train  foo"]},"metadata":{},"execution_count":6}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"SguuENWTmd-1","executionInfo":{"status":"ok","timestamp":1632379207027,"user_tz":-120,"elapsed":9,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"bac4c1b9-f7d2-4a2a-951d-2b0c705cbfe6"},"source":["df2.dtypes"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["A           float64\n","B    datetime64[ns]\n","C           float32\n","D             int32\n","E          category\n","F            object\n","dtype: object"]},"metadata":{},"execution_count":7}]},{"cell_type":"markdown","metadata":{"id":"XwUKCfcPmd-1"},"source":["## Viewing Data"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":173},"id":"oPLutF0Jmd-2","executionInfo":{"status":"ok","timestamp":1632379208036,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"222e1a06-aa84-4132-b669-d44f37305110"},"source":["df.head(4) #view first 4 entries"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>0.914406</td>\n","      <td>0.121417</td>\n","      <td>-1.066553</td>\n","      <td>2.018884</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-1.296982</td>\n","      <td>1.160410</td>\n","      <td>0.014724</td>\n","      <td>1.849905</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.720948</td>\n","      <td>-0.598234</td>\n","      <td>-2.435821</td>\n","      <td>0.494756</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>0.014188</td>\n","      <td>0.333015</td>\n","      <td>-1.742847</td>\n","      <td>-0.285276</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-01  0.914406  0.121417 -1.066553  2.018884\n","2013-01-02 -1.296982  1.160410  0.014724  1.849905\n","2013-01-03  0.720948 -0.598234 -2.435821  0.494756\n","2013-01-04  0.014188  0.333015 -1.742847 -0.285276"]},"metadata":{},"execution_count":8}]},{"cell_type":"code","metadata":{"id":"U8azcLScmd-2","colab":{"base_uri":"https://localhost:8080/","height":142},"executionInfo":{"status":"ok","timestamp":1632379208885,"user_tz":-120,"elapsed":9,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"ef7ab74d-e6b0-4035-d3e8-7f7a78ca0fe9"},"source":[" df.tail(3)"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>0.014188</td>\n","      <td>0.333015</td>\n","      <td>-1.742847</td>\n","      <td>-0.285276</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>0.432983</td>\n","      <td>-0.054651</td>\n","      <td>-0.196122</td>\n","      <td>1.199866</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-06</th>\n","      <td>-0.598831</td>\n","      <td>-0.151269</td>\n","      <td>-0.096163</td>\n","      <td>1.982736</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-04  0.014188  0.333015 -1.742847 -0.285276\n","2013-01-05  0.432983 -0.054651 -0.196122  1.199866\n","2013-01-06 -0.598831 -0.151269 -0.096163  1.982736"]},"metadata":{},"execution_count":9}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"oydD_CFymd-2","executionInfo":{"status":"ok","timestamp":1632379208886,"user_tz":-120,"elapsed":8,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"f64ef2bd-d53f-4302-93ca-a00cf4d73e2d"},"source":["df.index"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',\n","               '2013-01-05', '2013-01-06'],\n","              dtype='datetime64[ns]', freq='D')"]},"metadata":{},"execution_count":10}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ja7cGsbXmd-3","executionInfo":{"status":"ok","timestamp":1632379209624,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"5e5dff6f-dbfc-44f4-b629-26eed47b1108"},"source":[" df.columns "],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Index(['A', 'B', 'C', 'D'], dtype='object')"]},"metadata":{},"execution_count":11}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"1zpBuCKtmd-3","executionInfo":{"status":"ok","timestamp":1632379262506,"user_tz":-120,"elapsed":345,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"c99af02d-6761-4347-ad8d-06dba61f8e7d"},"source":["df.to_numpy() #converts dataframe to numpy array"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 0.91440574,  0.12141718, -1.0665528 ,  2.01888395],\n","       [-1.29698205,  1.16040972,  0.01472377,  1.84990461],\n","       [ 0.72094796, -0.59823365, -2.43582148,  0.49475611],\n","       [ 0.01418776,  0.33301537, -1.74284744, -0.28527567],\n","       [ 0.43298343, -0.05465101, -0.19612168,  1.19986592],\n","       [-0.59883059, -0.15126891, -0.09616254,  1.98273607]])"]},"metadata":{},"execution_count":14}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":297},"id":"udubM3jLmd-3","executionInfo":{"status":"ok","timestamp":1632379269304,"user_tz":-120,"elapsed":346,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"343ebe56-c888-448b-d3cc-054bafede484"},"source":["df.describe() #computes some statistics for each column"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>count</th>\n","      <td>6.000000</td>\n","      <td>6.000000</td>\n","      <td>6.000000</td>\n","      <td>6.000000</td>\n","    </tr>\n","    <tr>\n","      <th>mean</th>\n","      <td>0.031119</td>\n","      <td>0.135115</td>\n","      <td>-0.920464</td>\n","      <td>1.210145</td>\n","    </tr>\n","    <tr>\n","      <th>std</th>\n","      <td>0.845994</td>\n","      <td>0.591001</td>\n","      <td>1.007242</td>\n","      <td>0.938980</td>\n","    </tr>\n","    <tr>\n","      <th>min</th>\n","      <td>-1.296982</td>\n","      <td>-0.598234</td>\n","      <td>-2.435821</td>\n","      <td>-0.285276</td>\n","    </tr>\n","    <tr>\n","      <th>25%</th>\n","      <td>-0.445576</td>\n","      <td>-0.127114</td>\n","      <td>-1.573774</td>\n","      <td>0.671034</td>\n","    </tr>\n","    <tr>\n","      <th>50%</th>\n","      <td>0.223586</td>\n","      <td>0.033383</td>\n","      <td>-0.631337</td>\n","      <td>1.524885</td>\n","    </tr>\n","    <tr>\n","      <th>75%</th>\n","      <td>0.648957</td>\n","      <td>0.280116</td>\n","      <td>-0.121152</td>\n","      <td>1.949528</td>\n","    </tr>\n","    <tr>\n","      <th>max</th>\n","      <td>0.914406</td>\n","      <td>1.160410</td>\n","      <td>0.014724</td>\n","      <td>2.018884</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["              A         B         C         D\n","count  6.000000  6.000000  6.000000  6.000000\n","mean   0.031119  0.135115 -0.920464  1.210145\n","std    0.845994  0.591001  1.007242  0.938980\n","min   -1.296982 -0.598234 -2.435821 -0.285276\n","25%   -0.445576 -0.127114 -1.573774  0.671034\n","50%    0.223586  0.033383 -0.631337  1.524885\n","75%    0.648957  0.280116 -0.121152  1.949528\n","max    0.914406  1.160410  0.014724  2.018884"]},"metadata":{},"execution_count":15}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":173},"id":"l2svUYt4md-4","executionInfo":{"status":"ok","timestamp":1632333505314,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"4973ec65-f87c-4580-ccfd-21814047908f"},"source":["df.T #transpose"],"execution_count":null,"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>2013-01-01</th>\n","      <th>2013-01-02</th>\n","      <th>2013-01-03</th>\n","      <th>2013-01-04</th>\n","      <th>2013-01-05</th>\n","      <th>2013-01-06</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>A</th>\n","      <td>-0.827231</td>\n","      <td>-0.012975</td>\n","      <td>0.678272</td>\n","      <td>-0.768095</td>\n","      <td>0.041211</td>\n","      <td>1.832207</td>\n","    </tr>\n","    <tr>\n","      <th>B</th>\n","      <td>1.315491</td>\n","      <td>0.517257</td>\n","      <td>1.581599</td>\n","      <td>-1.028409</td>\n","      <td>1.015698</td>\n","      <td>-0.424307</td>\n","    </tr>\n","    <tr>\n","      <th>C</th>\n","      <td>-0.121781</td>\n","      <td>0.367729</td>\n","      <td>0.137898</td>\n","      <td>0.307173</td>\n","      <td>-0.602412</td>\n","      <td>1.106552</td>\n","    </tr>\n","    <tr>\n","      <th>D</th>\n","      <td>-0.770487</td>\n","      <td>0.359634</td>\n","      <td>-1.697191</td>\n","      <td>-0.256419</td>\n","      <td>-0.334959</td>\n","      <td>-0.176741</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["   2013-01-01  2013-01-02  2013-01-03  2013-01-04  2013-01-05  2013-01-06\n","A   -0.827231   -0.012975    0.678272   -0.768095    0.041211    1.832207\n","B    1.315491    0.517257    1.581599   -1.028409    1.015698   -0.424307\n","C   -0.121781    0.367729    0.137898    0.307173   -0.602412    1.106552\n","D   -0.770487    0.359634   -1.697191   -0.256419   -0.334959   -0.176741"]},"metadata":{},"execution_count":13}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":235},"id":"2gSWtLR6md-4","executionInfo":{"status":"ok","timestamp":1632379378232,"user_tz":-120,"elapsed":338,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"97344ba0-9bd1-4104-f14b-ff74947bf018"},"source":[" df.sort_index(axis=1, ascending=False) #if index=0 sort by index, else if index=1 sort by column names"],"execution_count":null,"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>D</th>\n","      <th>C</th>\n","      <th>B</th>\n","      <th>A</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>2.018884</td>\n","      <td>-1.066553</td>\n","      <td>0.121417</td>\n","      <td>0.914406</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>1.849905</td>\n","      <td>0.014724</td>\n","      <td>1.160410</td>\n","      <td>-1.296982</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.494756</td>\n","      <td>-2.435821</td>\n","      <td>-0.598234</td>\n","      <td>0.720948</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>-0.285276</td>\n","      <td>-1.742847</td>\n","      <td>0.333015</td>\n","      <td>0.014188</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>1.199866</td>\n","      <td>-0.196122</td>\n","      <td>-0.054651</td>\n","      <td>0.432983</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-06</th>\n","      <td>1.982736</td>\n","      <td>-0.096163</td>\n","      <td>-0.151269</td>\n","      <td>-0.598831</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   D         C         B         A\n","2013-01-01  2.018884 -1.066553  0.121417  0.914406\n","2013-01-02  1.849905  0.014724  1.160410 -1.296982\n","2013-01-03  0.494756 -2.435821 -0.598234  0.720948\n","2013-01-04 -0.285276 -1.742847  0.333015  0.014188\n","2013-01-05  1.199866 -0.196122 -0.054651  0.432983\n","2013-01-06  1.982736 -0.096163 -0.151269 -0.598831"]},"metadata":{},"execution_count":17}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":235},"id":"X4ZOAK4rmd-4","executionInfo":{"status":"ok","timestamp":1632379887243,"user_tz":-120,"elapsed":414,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"c527ad86-5acf-4a7f-fd01-4a6d3fcca420"},"source":["df.sort_values(by='B') #sort by column values"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.720948</td>\n","      <td>-0.598234</td>\n","      <td>-2.435821</td>\n","      <td>0.494756</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-06</th>\n","      <td>-0.598831</td>\n","      <td>-0.151269</td>\n","      <td>-0.096163</td>\n","      <td>1.982736</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>0.432983</td>\n","      <td>-0.054651</td>\n","      <td>-0.196122</td>\n","      <td>1.199866</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>0.914406</td>\n","      <td>0.121417</td>\n","      <td>-1.066553</td>\n","      <td>2.018884</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>0.014188</td>\n","      <td>0.333015</td>\n","      <td>-1.742847</td>\n","      <td>-0.285276</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-1.296982</td>\n","      <td>1.160410</td>\n","      <td>0.014724</td>\n","      <td>1.849905</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-03  0.720948 -0.598234 -2.435821  0.494756\n","2013-01-06 -0.598831 -0.151269 -0.096163  1.982736\n","2013-01-05  0.432983 -0.054651 -0.196122  1.199866\n","2013-01-01  0.914406  0.121417 -1.066553  2.018884\n","2013-01-04  0.014188  0.333015 -1.742847 -0.285276\n","2013-01-02 -1.296982  1.160410  0.014724  1.849905"]},"metadata":{},"execution_count":23}]},{"cell_type":"markdown","metadata":{"id":"JEL0r_ALmd-5"},"source":["## Selection"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ZvbEgBM1md-5","executionInfo":{"status":"ok","timestamp":1632379888968,"user_tz":-120,"elapsed":7,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"38ce0ac2-4ee6-498e-8b43-6120d2aa01dd"},"source":["df['A'] "],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["2013-01-01    0.914406\n","2013-01-02   -1.296982\n","2013-01-03    0.720948\n","2013-01-04    0.014188\n","2013-01-05    0.432983\n","2013-01-06   -0.598831\n","Freq: D, Name: A, dtype: float64"]},"metadata":{},"execution_count":24}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"qISRWIUiqNVF","executionInfo":{"status":"ok","timestamp":1632379890338,"user_tz":-120,"elapsed":6,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"6a85060f-2afc-4cd9-ffae-4209d2edefb8"},"source":["type(df['A']) #each column of the dataframe is a Series object"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["pandas.core.series.Series"]},"metadata":{},"execution_count":25}]},{"cell_type":"code","metadata":{"id":"qcxzPOIdmd-5","colab":{"base_uri":"https://localhost:8080/","height":142},"executionInfo":{"status":"ok","timestamp":1632379892093,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"c68f896a-56ec-4241-d319-f6395d1ff1b0"},"source":["df[0:3] # : slices the rows. Final endpoint is excluded"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>0.914406</td>\n","      <td>0.121417</td>\n","      <td>-1.066553</td>\n","      <td>2.018884</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-1.296982</td>\n","      <td>1.160410</td>\n","      <td>0.014724</td>\n","      <td>1.849905</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.720948</td>\n","      <td>-0.598234</td>\n","      <td>-2.435821</td>\n","      <td>0.494756</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-01  0.914406  0.121417 -1.066553  2.018884\n","2013-01-02 -1.296982  1.160410  0.014724  1.849905\n","2013-01-03  0.720948 -0.598234 -2.435821  0.494756"]},"metadata":{},"execution_count":26}]},{"cell_type":"code","metadata":{"id":"KKsZlOJDmd-5","colab":{"base_uri":"https://localhost:8080/","height":142},"executionInfo":{"status":"ok","timestamp":1632379894872,"user_tz":-120,"elapsed":462,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"68f7fbd4-cc2c-43ed-b032-342ca5c3325b"},"source":["df['20130102':'20130104']"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-1.296982</td>\n","      <td>1.160410</td>\n","      <td>0.014724</td>\n","      <td>1.849905</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.720948</td>\n","      <td>-0.598234</td>\n","      <td>-2.435821</td>\n","      <td>0.494756</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>0.014188</td>\n","      <td>0.333015</td>\n","      <td>-1.742847</td>\n","      <td>-0.285276</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-02 -1.296982  1.160410  0.014724  1.849905\n","2013-01-03  0.720948 -0.598234 -2.435821  0.494756\n","2013-01-04  0.014188  0.333015 -1.742847 -0.285276"]},"metadata":{},"execution_count":27}]},{"cell_type":"markdown","metadata":{"id":"vmdJc9Iemd-6"},"source":["## Selection by Label"]},{"cell_type":"code","metadata":{"id":"jFXpurUPmd-6","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632380028437,"user_tz":-120,"elapsed":327,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"b4112880-2cf6-4af7-f684-437e61a0289e"},"source":["df.loc[dates[0]] #recall dates was the array used as index in the dataframe\n","# we're selecting the row where the index is equal to dates[0]\n","#selects by index"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["A    0.914406\n","B    0.121417\n","C   -1.066553\n","D    2.018884\n","Name: 2013-01-01 00:00:00, dtype: float64"]},"metadata":{},"execution_count":28}]},{"cell_type":"code","metadata":{"id":"2Sq8KG80md-6","outputId":"6e6d113f-c5be-4610-dbcb-8b7a86034074"},"source":["df.loc[:,['A','B']]"],"execution_count":null,"outputs":[{"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>A</th>\n","      <th>B</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>0.338550</td>\n","      <td>0.691142</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-0.045951</td>\n","      <td>2.082922</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>-1.165968</td>\n","      <td>-1.489116</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>-2.270588</td>\n","      <td>0.625400</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>1.415099</td>\n","      <td>-0.139233</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-06</th>\n","      <td>-1.151508</td>\n","      <td>0.085745</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B\n","2013-01-01  0.338550  0.691142\n","2013-01-02 -0.045951  2.082922\n","2013-01-03 -1.165968 -1.489116\n","2013-01-04 -2.270588  0.625400\n","2013-01-05  1.415099 -0.139233\n","2013-01-06 -1.151508  0.085745"]},"execution_count":21,"metadata":{},"output_type":"execute_result"}]},{"cell_type":"code","metadata":{"id":"3ZXtf5SNmd-6","colab":{"base_uri":"https://localhost:8080/","height":142},"executionInfo":{"status":"ok","timestamp":1632380088255,"user_tz":-120,"elapsed":514,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"3b1bc1d4-43f6-404f-e796-7b4d0aebbaef"},"source":["df.loc['20130102':'20130104',['A','C']] #label slicing: both endpoints are included"],"execution_count":null,"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>A</th>\n","      <th>C</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-1.296982</td>\n","      <td>0.014724</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.720948</td>\n","      <td>-2.435821</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>0.014188</td>\n","      <td>-1.742847</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         C\n","2013-01-02 -1.296982  0.014724\n","2013-01-03  0.720948 -2.435821\n","2013-01-04  0.014188 -1.742847"]},"metadata":{},"execution_count":30}]},{"cell_type":"code","metadata":{"id":"E3Qr5lRpmd-7","outputId":"fb1556ae-b823-4290-99d7-24c6ba9b9956"},"source":[" df.loc['20130102',['A','B']]"],"execution_count":null,"outputs":[{"data":{"text/plain":["A   -0.045951\n","B    2.082922\n","Name: 2013-01-02 00:00:00, dtype: float64"]},"execution_count":23,"metadata":{},"output_type":"execute_result"}]},{"cell_type":"code","metadata":{"id":"q2lTTeFdmd-7","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632380146521,"user_tz":-120,"elapsed":595,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"e7d2b888-c285-4ad4-86dc-c6aec73f034f"},"source":["df.loc[dates[0],'A'] #selects one row and one column, so it returns a scalar object"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.9144057368074258"]},"metadata":{},"execution_count":31}]},{"cell_type":"code","metadata":{"id":"-7KVmBtnmd-7","outputId":"7fe2bd46-38cb-49fc-97b4-2bb4fc6172cc"},"source":["df.at[dates[0],'A'] #faster but only for scalars"],"execution_count":null,"outputs":[{"data":{"text/plain":["0.3385499501607328"]},"execution_count":25,"metadata":{},"output_type":"execute_result"}]},{"cell_type":"markdown","metadata":{"id":"SpbZVWoomd-7"},"source":["## Selection by Position"]},{"cell_type":"code","metadata":{"id":"HI3H625Zmd-7","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632333758064,"user_tz":-120,"elapsed":169,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"1ec9201b-401b-4532-b42c-b6bc3ac30e51"},"source":[" df.iloc[3] #selects the fourth row of the dataframe "],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["A   -0.768095\n","B   -1.028409\n","C    0.307173\n","D   -0.256419\n","Name: 2013-01-04 00:00:00, dtype: float64"]},"metadata":{},"execution_count":20}]},{"cell_type":"code","metadata":{"id":"w8sB7dOEmd-8","colab":{"base_uri":"https://localhost:8080/","height":111},"executionInfo":{"status":"ok","timestamp":1632333818467,"user_tz":-120,"elapsed":188,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"4a2afdf9-cc79-4bd9-cf6a-43ea5b1cd59b"},"source":["df.iloc[3:5,0:2] #select by integer slices just as numpy\n","#can select also columns by position (endpoints are excluded)"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>-0.768095</td>\n","      <td>-1.028409</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>0.041211</td>\n","      <td>1.015698</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B\n","2013-01-04 -0.768095 -1.028409\n","2013-01-05  0.041211  1.015698"]},"metadata":{},"execution_count":21}]},{"cell_type":"code","metadata":{"id":"32saY9Gimd-8","colab":{"base_uri":"https://localhost:8080/","height":142},"executionInfo":{"status":"ok","timestamp":1632380959486,"user_tz":-120,"elapsed":689,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"d0478b3d-6734-49b1-ed4c-e685d157014b"},"source":["df.iloc[[1,2,4],[0,2]] #select by lists of integers positions (selecting 2nd 3rd and 5th row, 1st and 3rd column)"],"execution_count":null,"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>A</th>\n","      <th>C</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-1.296982</td>\n","      <td>0.014724</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.720948</td>\n","      <td>-2.435821</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>0.432983</td>\n","      <td>-0.196122</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         C\n","2013-01-02 -1.296982  0.014724\n","2013-01-03  0.720948 -2.435821\n","2013-01-05  0.432983 -0.196122"]},"metadata":{},"execution_count":32}]},{"cell_type":"code","metadata":{"id":"3v7nl7WUmd-8","colab":{"base_uri":"https://localhost:8080/","height":111},"executionInfo":{"status":"ok","timestamp":1632380988485,"user_tz":-120,"elapsed":341,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"9bdbe99a-d3be-42d2-bfb7-00a676aca869"},"source":["df.iloc[1:3,:] #some rows, all columns"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-1.296982</td>\n","      <td>1.160410</td>\n","      <td>0.014724</td>\n","      <td>1.849905</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.720948</td>\n","      <td>-0.598234</td>\n","      <td>-2.435821</td>\n","      <td>0.494756</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-02 -1.296982  1.160410  0.014724  1.849905\n","2013-01-03  0.720948 -0.598234 -2.435821  0.494756"]},"metadata":{},"execution_count":33}]},{"cell_type":"code","metadata":{"id":"ySpnoTVGmd-8","colab":{"base_uri":"https://localhost:8080/","height":235},"executionInfo":{"status":"ok","timestamp":1632380988817,"user_tz":-120,"elapsed":4,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"fb9373e0-af38-4c3f-9d4c-fe925c8b5fcd"},"source":[" df.iloc[:,1:3] #some columns all rows"],"execution_count":null,"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>B</th>\n","      <th>C</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>0.121417</td>\n","      <td>-1.066553</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>1.160410</td>\n","      <td>0.014724</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>-0.598234</td>\n","      <td>-2.435821</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>0.333015</td>\n","      <td>-1.742847</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>-0.054651</td>\n","      <td>-0.196122</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-06</th>\n","      <td>-0.151269</td>\n","      <td>-0.096163</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   B         C\n","2013-01-01  0.121417 -1.066553\n","2013-01-02  1.160410  0.014724\n","2013-01-03 -0.598234 -2.435821\n","2013-01-04  0.333015 -1.742847\n","2013-01-05 -0.054651 -0.196122\n","2013-01-06 -0.151269 -0.096163"]},"metadata":{},"execution_count":34}]},{"cell_type":"code","metadata":{"id":"jPPYUWFWmd-8","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632333824414,"user_tz":-120,"elapsed":208,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"24c1801f-db79-4d2e-951c-66dab69c0d3c"},"source":["df.iloc[1,1]"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.5172569106488429"]},"metadata":{},"execution_count":25}]},{"cell_type":"code","metadata":{"id":"yVpFjfllmd-8","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632333825616,"user_tz":-120,"elapsed":198,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"5fbee62a-a95c-46f0-b8ad-f4cf4e97f66a"},"source":["df.iat[1,1] #to select scalars"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.5172569106488429"]},"metadata":{},"execution_count":26}]},{"cell_type":"markdown","metadata":{"id":"KBRnFkocmd-9"},"source":["## Boolean Indexing"]},{"cell_type":"code","metadata":{"id":"yuuhY9oOmd-9","colab":{"base_uri":"https://localhost:8080/","height":111},"executionInfo":{"status":"ok","timestamp":1632379778803,"user_tz":-120,"elapsed":416,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"44d7bf03-615f-4b21-80ac-f3e53b73b784"},"source":["df[((df['A'] > 0) & (df['B']<=0))] #select rows where column A is positive ad column B is negative"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.720948</td>\n","      <td>-0.598234</td>\n","      <td>-2.435821</td>\n","      <td>0.494756</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>0.432983</td>\n","      <td>-0.054651</td>\n","      <td>-0.196122</td>\n","      <td>1.199866</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-03  0.720948 -0.598234 -2.435821  0.494756\n","2013-01-05  0.432983 -0.054651 -0.196122  1.199866"]},"metadata":{},"execution_count":22}]},{"cell_type":"code","metadata":{"id":"o1qvvJRfmd-9","colab":{"base_uri":"https://localhost:8080/","height":235},"executionInfo":{"status":"ok","timestamp":1632337037478,"user_tz":-120,"elapsed":517,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"0f2a7d5b-ab48-4916-91d8-f8c3a510b547"},"source":["df[df > 0]"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>NaN</td>\n","      <td>1.315491</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>NaN</td>\n","      <td>0.517257</td>\n","      <td>0.367729</td>\n","      <td>0.359634</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.678272</td>\n","      <td>1.581599</td>\n","      <td>0.137898</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>0.307173</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>0.041211</td>\n","      <td>1.015698</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-06</th>\n","      <td>1.832207</td>\n","      <td>NaN</td>\n","      <td>1.106552</td>\n","      <td>NaN</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-01       NaN  1.315491       NaN       NaN\n","2013-01-02       NaN  0.517257  0.367729  0.359634\n","2013-01-03  0.678272  1.581599  0.137898       NaN\n","2013-01-04       NaN       NaN  0.307173       NaN\n","2013-01-05  0.041211  1.015698       NaN       NaN\n","2013-01-06  1.832207       NaN  1.106552       NaN"]},"metadata":{},"execution_count":32}]},{"cell_type":"markdown","metadata":{"id":"DMTHi-7KftiX"},"source":["## Setting"]},{"cell_type":"code","metadata":{"id":"N3jFC_hFmd-9","colab":{"base_uri":"https://localhost:8080/","height":235},"executionInfo":{"status":"ok","timestamp":1632337038203,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"e7d4835f-e9d8-42d5-f5cc-4b9125ce35b5"},"source":["df2 = df.copy()\n","df2['E']=['one', 'one','two','three','four','three']\n","df2"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","      <th>E</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>-0.827231</td>\n","      <td>1.315491</td>\n","      <td>-0.121781</td>\n","      <td>-0.770487</td>\n","      <td>one</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-0.012975</td>\n","      <td>0.517257</td>\n","      <td>0.367729</td>\n","      <td>0.359634</td>\n","      <td>one</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.678272</td>\n","      <td>1.581599</td>\n","      <td>0.137898</td>\n","      <td>-1.697191</td>\n","      <td>two</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>-0.768095</td>\n","      <td>-1.028409</td>\n","      <td>0.307173</td>\n","      <td>-0.256419</td>\n","      <td>three</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>0.041211</td>\n","      <td>1.015698</td>\n","      <td>-0.602412</td>\n","      <td>-0.334959</td>\n","      <td>four</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-06</th>\n","      <td>1.832207</td>\n","      <td>-0.424307</td>\n","      <td>1.106552</td>\n","      <td>-0.176741</td>\n","      <td>three</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D      E\n","2013-01-01 -0.827231  1.315491 -0.121781 -0.770487    one\n","2013-01-02 -0.012975  0.517257  0.367729  0.359634    one\n","2013-01-03  0.678272  1.581599  0.137898 -1.697191    two\n","2013-01-04 -0.768095 -1.028409  0.307173 -0.256419  three\n","2013-01-05  0.041211  1.015698 -0.602412 -0.334959   four\n","2013-01-06  1.832207 -0.424307  1.106552 -0.176741  three"]},"metadata":{},"execution_count":33}]},{"cell_type":"code","metadata":{"id":"izwDnbuvgtq9"},"source":["df.at[dates[0], \"A\"] = 0 #setting values by label"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"mCBUqAfsg0tr"},"source":["df.iat[0, 1] = 0 #setting value by position"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":235},"id":"u6nzza6lg3Xq","executionInfo":{"status":"ok","timestamp":1632381933406,"user_tz":-120,"elapsed":412,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"97dbd51e-43be-4921-9eaf-0fc9db0d6c6a"},"source":["df #result of modifications"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>0.914406</td>\n","      <td>0.000000</td>\n","      <td>-1.066553</td>\n","      <td>2.018884</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-1.296982</td>\n","      <td>1.160410</td>\n","      <td>0.014724</td>\n","      <td>1.849905</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.720948</td>\n","      <td>-0.598234</td>\n","      <td>-2.435821</td>\n","      <td>0.494756</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>0.014188</td>\n","      <td>0.333015</td>\n","      <td>-1.742847</td>\n","      <td>-0.285276</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>0.432983</td>\n","      <td>-0.054651</td>\n","      <td>-0.196122</td>\n","      <td>1.199866</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-06</th>\n","      <td>-0.598831</td>\n","      <td>-0.151269</td>\n","      <td>-0.096163</td>\n","      <td>1.982736</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-01  0.914406  0.000000 -1.066553  2.018884\n","2013-01-02 -1.296982  1.160410  0.014724  1.849905\n","2013-01-03  0.720948 -0.598234 -2.435821  0.494756\n","2013-01-04  0.014188  0.333015 -1.742847 -0.285276\n","2013-01-05  0.432983 -0.054651 -0.196122  1.199866\n","2013-01-06 -0.598831 -0.151269 -0.096163  1.982736"]},"metadata":{},"execution_count":44}]},{"cell_type":"code","metadata":{"id":"PH_WOpUymd-9","colab":{"base_uri":"https://localhost:8080/","height":111},"executionInfo":{"status":"ok","timestamp":1632337038643,"user_tz":-120,"elapsed":6,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"bccc79b5-2e2e-4fb9-fd9d-1f8fa2c2063d"},"source":["df2[df2['E'].isin(['two','four'])]"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","      <th>E</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.678272</td>\n","      <td>1.581599</td>\n","      <td>0.137898</td>\n","      <td>-1.697191</td>\n","      <td>two</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>0.041211</td>\n","      <td>1.015698</td>\n","      <td>-0.602412</td>\n","      <td>-0.334959</td>\n","      <td>four</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D     E\n","2013-01-03  0.678272  1.581599  0.137898 -1.697191   two\n","2013-01-05  0.041211  1.015698 -0.602412 -0.334959  four"]},"metadata":{},"execution_count":34}]},{"cell_type":"markdown","metadata":{"id":"wiB9jcHfmd-9"},"source":["## Missing Data"]},{"cell_type":"code","metadata":{"id":"YdWRhP6tmd--","colab":{"base_uri":"https://localhost:8080/","height":173},"executionInfo":{"status":"ok","timestamp":1632337040605,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"e2648ce1-0b63-400b-dda0-8c25533511af"},"source":["df1 = df.reindex(index=dates[0:4],columns=list(df.columns) + ['E'])\n","df1.loc[dates[0]:dates[1],'E'] = 1\n","df1"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","      <th>E</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>-0.827231</td>\n","      <td>1.315491</td>\n","      <td>-0.121781</td>\n","      <td>-0.770487</td>\n","      <td>1.0</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-0.012975</td>\n","      <td>0.517257</td>\n","      <td>0.367729</td>\n","      <td>0.359634</td>\n","      <td>1.0</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.678272</td>\n","      <td>1.581599</td>\n","      <td>0.137898</td>\n","      <td>-1.697191</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>-0.768095</td>\n","      <td>-1.028409</td>\n","      <td>0.307173</td>\n","      <td>-0.256419</td>\n","      <td>NaN</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D    E\n","2013-01-01 -0.827231  1.315491 -0.121781 -0.770487  1.0\n","2013-01-02 -0.012975  0.517257  0.367729  0.359634  1.0\n","2013-01-03  0.678272  1.581599  0.137898 -1.697191  NaN\n","2013-01-04 -0.768095 -1.028409  0.307173 -0.256419  NaN"]},"metadata":{},"execution_count":35}]},{"cell_type":"code","metadata":{"id":"jcQyF6ngmd--","colab":{"base_uri":"https://localhost:8080/","height":111},"executionInfo":{"status":"ok","timestamp":1632337042788,"user_tz":-120,"elapsed":432,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"90bc0cfe-914e-4a9d-df6e-8967d9a9e619"},"source":["df1.dropna(how='any')\n","#deletes the row if there's at least one NaN"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","      <th>E</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>-0.827231</td>\n","      <td>1.315491</td>\n","      <td>-0.121781</td>\n","      <td>-0.770487</td>\n","      <td>1.0</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-0.012975</td>\n","      <td>0.517257</td>\n","      <td>0.367729</td>\n","      <td>0.359634</td>\n","      <td>1.0</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D    E\n","2013-01-01 -0.827231  1.315491 -0.121781 -0.770487  1.0\n","2013-01-02 -0.012975  0.517257  0.367729  0.359634  1.0"]},"metadata":{},"execution_count":36}]},{"cell_type":"code","metadata":{"id":"e22y8t7rmd--","colab":{"base_uri":"https://localhost:8080/","height":173},"executionInfo":{"status":"ok","timestamp":1632337045063,"user_tz":-120,"elapsed":448,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"e4e61711-4d99-4a86-cdd8-bd2e6262f9d5"},"source":["df1.fillna(value=5)\n","#NaN---->5"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","      <th>E</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>-0.827231</td>\n","      <td>1.315491</td>\n","      <td>-0.121781</td>\n","      <td>-0.770487</td>\n","      <td>1.0</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-0.012975</td>\n","      <td>0.517257</td>\n","      <td>0.367729</td>\n","      <td>0.359634</td>\n","      <td>1.0</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>0.678272</td>\n","      <td>1.581599</td>\n","      <td>0.137898</td>\n","      <td>-1.697191</td>\n","      <td>5.0</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>-0.768095</td>\n","      <td>-1.028409</td>\n","      <td>0.307173</td>\n","      <td>-0.256419</td>\n","      <td>5.0</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D    E\n","2013-01-01 -0.827231  1.315491 -0.121781 -0.770487  1.0\n","2013-01-02 -0.012975  0.517257  0.367729  0.359634  1.0\n","2013-01-03  0.678272  1.581599  0.137898 -1.697191  5.0\n","2013-01-04 -0.768095 -1.028409  0.307173 -0.256419  5.0"]},"metadata":{},"execution_count":37}]},{"cell_type":"code","metadata":{"id":"wAnOi56Fmd--","colab":{"base_uri":"https://localhost:8080/","height":173},"executionInfo":{"status":"ok","timestamp":1632337047242,"user_tz":-120,"elapsed":694,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"56fbdf24-0b40-4b67-9337-ae0b774450c7"},"source":["pd.isnull(df1) #returns a boolean dataframe"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","      <th>E</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>False</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>False</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>True</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>False</td>\n","      <td>True</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                A      B      C      D      E\n","2013-01-01  False  False  False  False  False\n","2013-01-02  False  False  False  False  False\n","2013-01-03  False  False  False  False   True\n","2013-01-04  False  False  False  False   True"]},"metadata":{},"execution_count":38}]},{"cell_type":"markdown","metadata":{"id":"ZzSwion2md--"},"source":["## Stats"]},{"cell_type":"code","metadata":{"id":"QQiZKHoUmd--","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632337048976,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"19213e3d-6b0f-43e1-a619-3cab3da43b55"},"source":["df.mean()\n","#column average "],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["A    0.157232\n","B    0.496222\n","C    0.199193\n","D   -0.479360\n","dtype: float64"]},"metadata":{},"execution_count":39}]},{"cell_type":"code","metadata":{"id":"DTzJjs6_md-_","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632337049959,"user_tz":-120,"elapsed":165,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"633ed13f-e7ee-4d6e-edcf-f98b59086b2d"},"source":[" df.mean(1)\n","# row average"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["2013-01-01   -0.101002\n","2013-01-02    0.307911\n","2013-01-03    0.175144\n","2013-01-04   -0.436438\n","2013-01-05    0.029884\n","2013-01-06    0.584428\n","Freq: D, dtype: float64"]},"metadata":{},"execution_count":40}]},{"cell_type":"markdown","metadata":{"id":"3DO2pWOwmd-_"},"source":["## Apply"]},{"cell_type":"code","metadata":{"id":"RAFejPzXmd-_","colab":{"base_uri":"https://localhost:8080/","height":235},"executionInfo":{"status":"ok","timestamp":1632337265633,"user_tz":-120,"elapsed":186,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"02fb106a-cf9d-4f40-c24f-7cad407e0ed0"},"source":["df.apply(np.cumsum) #applies transformations columnwise\n","#spits out cumultive sum "],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>2013-01-01</th>\n","      <td>-0.827231</td>\n","      <td>1.315491</td>\n","      <td>-0.121781</td>\n","      <td>-0.770487</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-02</th>\n","      <td>-0.840206</td>\n","      <td>1.832748</td>\n","      <td>0.245948</td>\n","      <td>-0.410853</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-03</th>\n","      <td>-0.161934</td>\n","      <td>3.414347</td>\n","      <td>0.383846</td>\n","      <td>-2.108044</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-04</th>\n","      <td>-0.930029</td>\n","      <td>2.385938</td>\n","      <td>0.691018</td>\n","      <td>-2.364462</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-05</th>\n","      <td>-0.888818</td>\n","      <td>3.401636</td>\n","      <td>0.088606</td>\n","      <td>-2.699421</td>\n","    </tr>\n","    <tr>\n","      <th>2013-01-06</th>\n","      <td>0.943389</td>\n","      <td>2.977329</td>\n","      <td>1.195159</td>\n","      <td>-2.876162</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                   A         B         C         D\n","2013-01-01 -0.827231  1.315491 -0.121781 -0.770487\n","2013-01-02 -0.840206  1.832748  0.245948 -0.410853\n","2013-01-03 -0.161934  3.414347  0.383846 -2.108044\n","2013-01-04 -0.930029  2.385938  0.691018 -2.364462\n","2013-01-05 -0.888818  3.401636  0.088606 -2.699421\n","2013-01-06  0.943389  2.977329  1.195159 -2.876162"]},"metadata":{},"execution_count":42}]},{"cell_type":"code","metadata":{"id":"60GMkMjJmd-_","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632381856621,"user_tz":-120,"elapsed":431,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"dbe32414-4f19-4012-e5d2-8dbf279c9344"},"source":["df.apply(lambda x: x.max() - x.min())\n","#lambda is shorthand for single line anonimous functions "],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["A    2.211388\n","B    1.758643\n","C    2.450545\n","D    2.304160\n","dtype: float64"]},"metadata":{},"execution_count":39}]},{"cell_type":"markdown","metadata":{"id":"XP_Mo76Kmd-_"},"source":["## Histogramming"]},{"cell_type":"code","metadata":{"id":"2Y7oKLokmd-_","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632381858551,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"7a3e6d1a-161c-4006-b0f2-3f56dfa1c4c1"},"source":["s = pd.Series(np.random.randint(0,7,size=10))\n","s"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0    2\n","1    2\n","2    3\n","3    5\n","4    2\n","5    5\n","6    6\n","7    0\n","8    3\n","9    5\n","dtype: int64"]},"metadata":{},"execution_count":40}]},{"cell_type":"code","metadata":{"id":"uLmrT3M3md_A","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632381858897,"user_tz":-120,"elapsed":4,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"eaad170a-7429-410a-e209-536e98510810"},"source":["s.value_counts()#for each value encountered in the series it prints how many times it occurs"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["5    3\n","2    3\n","3    2\n","6    1\n","0    1\n","dtype: int64"]},"metadata":{},"execution_count":41}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":282},"id":"t2-8eEY4iON3","executionInfo":{"status":"ok","timestamp":1632381873038,"user_tz":-120,"elapsed":358,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"4727b11f-5bb2-4bc3-f888-2d62c350a184"},"source":["s.plot.hist(s) #showing the same result graphically"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["<matplotlib.axes._subplots.AxesSubplot at 0x7fefc48295d0>"]},"metadata":{},"execution_count":43},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"91NUiviEmd_A"},"source":["## Concat"]},{"cell_type":"code","metadata":{"id":"lSh8hEW3md_A","colab":{"base_uri":"https://localhost:8080/","height":359},"executionInfo":{"status":"ok","timestamp":1632385906970,"user_tz":-120,"elapsed":333,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"d33a6896-7ba3-4d1e-f2b5-a10b919755aa"},"source":["df = pd.DataFrame(np.random.randn(10, 4))\n","df"],"execution_count":null,"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>0</th>\n","      <th>1</th>\n","      <th>2</th>\n","      <th>3</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>-0.179177</td>\n","      <td>0.605780</td>\n","      <td>0.969076</td>\n","      <td>-0.938428</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>1.330808</td>\n","      <td>-0.122282</td>\n","      <td>0.393886</td>\n","      <td>1.629859</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>0.149984</td>\n","      <td>1.560090</td>\n","      <td>-1.572035</td>\n","      <td>-0.416091</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>-1.054543</td>\n","      <td>-0.278545</td>\n","      <td>0.635891</td>\n","      <td>1.041331</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>-0.880986</td>\n","      <td>1.422072</td>\n","      <td>-0.679057</td>\n","      <td>0.061986</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>-2.144854</td>\n","      <td>0.213624</td>\n","      <td>0.655014</td>\n","      <td>1.761142</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>-0.386933</td>\n","      <td>0.899019</td>\n","      <td>1.006027</td>\n","      <td>-0.737091</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>1.764085</td>\n","      <td>0.821161</td>\n","      <td>-0.899220</td>\n","      <td>-1.042396</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>1.745706</td>\n","      <td>1.949148</td>\n","      <td>-0.180283</td>\n","      <td>-1.315697</td>\n","    </tr>\n","    <tr>\n","      <th>9</th>\n","      <td>-0.167530</td>\n","      <td>0.002143</td>\n","      <td>0.578162</td>\n","      <td>-1.257288</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          0         1         2         3\n","0 -0.179177  0.605780  0.969076 -0.938428\n","1  1.330808 -0.122282  0.393886  1.629859\n","2  0.149984  1.560090 -1.572035 -0.416091\n","3 -1.054543 -0.278545  0.635891  1.041331\n","4 -0.880986  1.422072 -0.679057  0.061986\n","5 -2.144854  0.213624  0.655014  1.761142\n","6 -0.386933  0.899019  1.006027 -0.737091\n","7  1.764085  0.821161 -0.899220 -1.042396\n","8  1.745706  1.949148 -0.180283 -1.315697\n","9 -0.167530  0.002143  0.578162 -1.257288"]},"metadata":{},"execution_count":108}]},{"cell_type":"code","metadata":{"id":"Vbvrto6amd_A","colab":{"base_uri":"https://localhost:8080/","height":359},"executionInfo":{"status":"ok","timestamp":1632386511218,"user_tz":-120,"elapsed":506,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"970b2a0e-6306-4934-83aa-2e6cefa57b9e"},"source":["pieces = [df[:3], df[3:7], df[7:]] #dividing the dataframe horizontally in three pieces\n","pd.concat(pieces,axis=0) #stacks the dataframes one on top of the other"],"execution_count":null,"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>0</th>\n","      <th>1</th>\n","      <th>2</th>\n","      <th>3</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>-0.179177</td>\n","      <td>0.605780</td>\n","      <td>0.969076</td>\n","      <td>-0.938428</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>1.330808</td>\n","      <td>-0.122282</td>\n","      <td>0.393886</td>\n","      <td>1.629859</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>0.149984</td>\n","      <td>1.560090</td>\n","      <td>-1.572035</td>\n","      <td>-0.416091</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>-1.054543</td>\n","      <td>-0.278545</td>\n","      <td>0.635891</td>\n","      <td>1.041331</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>-0.880986</td>\n","      <td>1.422072</td>\n","      <td>-0.679057</td>\n","      <td>0.061986</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>-2.144854</td>\n","      <td>0.213624</td>\n","      <td>0.655014</td>\n","      <td>1.761142</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>-0.386933</td>\n","      <td>0.899019</td>\n","      <td>1.006027</td>\n","      <td>-0.737091</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>1.764085</td>\n","      <td>0.821161</td>\n","      <td>-0.899220</td>\n","      <td>-1.042396</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>1.745706</td>\n","      <td>1.949148</td>\n","      <td>-0.180283</td>\n","      <td>-1.315697</td>\n","    </tr>\n","    <tr>\n","      <th>9</th>\n","      <td>-0.167530</td>\n","      <td>0.002143</td>\n","      <td>0.578162</td>\n","      <td>-1.257288</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          0         1         2         3\n","0 -0.179177  0.605780  0.969076 -0.938428\n","1  1.330808 -0.122282  0.393886  1.629859\n","2  0.149984  1.560090 -1.572035 -0.416091\n","3 -1.054543 -0.278545  0.635891  1.041331\n","4 -0.880986  1.422072 -0.679057  0.061986\n","5 -2.144854  0.213624  0.655014  1.761142\n","6 -0.386933  0.899019  1.006027 -0.737091\n","7  1.764085  0.821161 -0.899220 -1.042396\n","8  1.745706  1.949148 -0.180283 -1.315697\n","9 -0.167530  0.002143  0.578162 -1.257288"]},"metadata":{},"execution_count":116}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":359},"id":"E_71IwrI0ODl","executionInfo":{"status":"ok","timestamp":1632386514425,"user_tz":-120,"elapsed":359,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"4b8783bf-f285-4080-e3a0-bd98033f2e1d"},"source":["pd.concat(pieces,axis=1) #stacks the dataframes horizontally by adding new columns"],"execution_count":null,"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>0</th>\n","      <th>1</th>\n","      <th>2</th>\n","      <th>3</th>\n","      <th>0</th>\n","      <th>1</th>\n","      <th>2</th>\n","      <th>3</th>\n","      <th>0</th>\n","      <th>1</th>\n","      <th>2</th>\n","      <th>3</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>-0.179177</td>\n","      <td>0.605780</td>\n","      <td>0.969076</td>\n","      <td>-0.938428</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>1.330808</td>\n","      <td>-0.122282</td>\n","      <td>0.393886</td>\n","      <td>1.629859</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>0.149984</td>\n","      <td>1.560090</td>\n","      <td>-1.572035</td>\n","      <td>-0.416091</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>-1.054543</td>\n","      <td>-0.278545</td>\n","      <td>0.635891</td>\n","      <td>1.041331</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>-0.880986</td>\n","      <td>1.422072</td>\n","      <td>-0.679057</td>\n","      <td>0.061986</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>-2.144854</td>\n","      <td>0.213624</td>\n","      <td>0.655014</td>\n","      <td>1.761142</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>-0.386933</td>\n","      <td>0.899019</td>\n","      <td>1.006027</td>\n","      <td>-0.737091</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>1.764085</td>\n","      <td>0.821161</td>\n","      <td>-0.899220</td>\n","      <td>-1.042396</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>1.745706</td>\n","      <td>1.949148</td>\n","      <td>-0.180283</td>\n","      <td>-1.315697</td>\n","    </tr>\n","    <tr>\n","      <th>9</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>-0.167530</td>\n","      <td>0.002143</td>\n","      <td>0.578162</td>\n","      <td>-1.257288</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          0         1         2  ...         1         2         3\n","0 -0.179177  0.605780  0.969076  ...       NaN       NaN       NaN\n","1  1.330808 -0.122282  0.393886  ...       NaN       NaN       NaN\n","2  0.149984  1.560090 -1.572035  ...       NaN       NaN       NaN\n","3       NaN       NaN       NaN  ...       NaN       NaN       NaN\n","4       NaN       NaN       NaN  ...       NaN       NaN       NaN\n","5       NaN       NaN       NaN  ...       NaN       NaN       NaN\n","6       NaN       NaN       NaN  ...       NaN       NaN       NaN\n","7       NaN       NaN       NaN  ...  0.821161 -0.899220 -1.042396\n","8       NaN       NaN       NaN  ...  1.949148 -0.180283 -1.315697\n","9       NaN       NaN       NaN  ...  0.002143  0.578162 -1.257288\n","\n","[10 rows x 12 columns]"]},"metadata":{},"execution_count":117}]},{"cell_type":"markdown","metadata":{"id":"y3v-Ow0emd_B"},"source":["## Join"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":235},"id":"TFhThTk51XGj","executionInfo":{"status":"ok","timestamp":1632387987874,"user_tz":-120,"elapsed":341,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"e9f99e5f-50fe-4ead-d76d-e0236de48f6c"},"source":["df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],\n","                   'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})\n","df"],"execution_count":null,"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>key</th>\n","      <th>A</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>K0</td>\n","      <td>A0</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>K1</td>\n","      <td>A1</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>K2</td>\n","      <td>A2</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>K3</td>\n","      <td>A3</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>K4</td>\n","      <td>A4</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>K5</td>\n","      <td>A5</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["  key   A\n","0  K0  A0\n","1  K1  A1\n","2  K2  A2\n","3  K3  A3\n","4  K4  A4\n","5  K5  A5"]},"metadata":{},"execution_count":133}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":142},"id":"grC1BOnp1dec","executionInfo":{"status":"ok","timestamp":1632387989594,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"d27979df-3056-4b0e-f07d-b1a1ca97926b"},"source":["other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],\n","                      'B': ['B0', 'B1', 'B2']})\n","other"],"execution_count":null,"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>key</th>\n","      <th>B</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>K0</td>\n","      <td>B0</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>K1</td>\n","      <td>B1</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>K2</td>\n","      <td>B2</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["  key   B\n","0  K0  B0\n","1  K1  B1\n","2  K2  B2"]},"metadata":{},"execution_count":134}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":235},"id":"zkUEgv1r1eIp","executionInfo":{"status":"ok","timestamp":1632387993880,"user_tz":-120,"elapsed":410,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"68ec5ccf-ba4d-460d-a588-9a010aeb854c"},"source":["#join using the indices: columns with same indices are put together\n","#rows where there are no common column values have NaNs\n","df.join(other, lsuffix='_caller', rsuffix='_other') "],"execution_count":null,"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>key_caller</th>\n","      <th>A</th>\n","      <th>key_other</th>\n","      <th>B</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>K0</td>\n","      <td>A0</td>\n","      <td>K0</td>\n","      <td>B0</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>K1</td>\n","      <td>A1</td>\n","      <td>K1</td>\n","      <td>B1</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>K2</td>\n","      <td>A2</td>\n","      <td>K2</td>\n","      <td>B2</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>K3</td>\n","      <td>A3</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>K4</td>\n","      <td>A4</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>K5</td>\n","      <td>A5</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["  key_caller   A key_other    B\n","0         K0  A0        K0   B0\n","1         K1  A1        K1   B1\n","2         K2  A2        K2   B2\n","3         K3  A3       NaN  NaN\n","4         K4  A4       NaN  NaN\n","5         K5  A5       NaN  NaN"]},"metadata":{},"execution_count":135}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":266},"id":"zcdIe5qe2TYy","executionInfo":{"status":"ok","timestamp":1632387238541,"user_tz":-120,"elapsed":413,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"a3ef2666-8473-4e19-e0b5-7c1282cd8822"},"source":["#join only works with the indices, so if we want to join along another column we need to set that column as index first\n","df.set_index('key').join(other.set_index('key')) #in this case we join based on the value of theccolimn 'key'"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","    </tr>\n","    <tr>\n","      <th>key</th>\n","      <th></th>\n","      <th></th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>K0</th>\n","      <td>A0</td>\n","      <td>B0</td>\n","    </tr>\n","    <tr>\n","      <th>K1</th>\n","      <td>A1</td>\n","      <td>B1</td>\n","    </tr>\n","    <tr>\n","      <th>K2</th>\n","      <td>A2</td>\n","      <td>B2</td>\n","    </tr>\n","    <tr>\n","      <th>K3</th>\n","      <td>A3</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>K4</th>\n","      <td>A4</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>K5</th>\n","      <td>A5</td>\n","      <td>NaN</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["      A    B\n","key         \n","K0   A0   B0\n","K1   A1   B1\n","K2   A2   B2\n","K3   A3  NaN\n","K4   A4  NaN\n","K5   A5  NaN"]},"metadata":{},"execution_count":125}]},{"cell_type":"markdown","metadata":{"id":"_pX1RwX15sur"},"source":["## Merge"]},{"cell_type":"code","metadata":{"id":"s8paEfgNmd_B","colab":{"base_uri":"https://localhost:8080/","height":173},"executionInfo":{"status":"ok","timestamp":1632387837934,"user_tz":-120,"elapsed":450,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"0f3024df-3e85-4a79-827d-401deca2ba10"},"source":["left = pd.DataFrame({'key': ['foo', 'foo', 'bar','bar'], 'lval': [1, 2,3, 23]})\n","left"],"execution_count":null,"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>key</th>\n","      <th>lval</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>foo</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>foo</td>\n","      <td>2</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>bar</td>\n","      <td>3</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>bar</td>\n","      <td>23</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["   key  lval\n","0  foo     1\n","1  foo     2\n","2  bar     3\n","3  bar    23"]},"metadata":{},"execution_count":130}]},{"cell_type":"code","metadata":{"id":"yjmlIex8md_B","colab":{"base_uri":"https://localhost:8080/","height":173},"executionInfo":{"status":"ok","timestamp":1632387837934,"user_tz":-120,"elapsed":6,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"d3107c1f-494c-4e19-adb9-87054cdb87d4"},"source":["right = pd.DataFrame({'key': ['foo', 'foo','bar','pippo'], 'rval': [4, 5, 6, 7]})\n","right"],"execution_count":null,"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>key</th>\n","      <th>rval</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>foo</td>\n","      <td>4</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>foo</td>\n","      <td>5</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>bar</td>\n","      <td>6</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>pippo</td>\n","      <td>7</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["     key  rval\n","0    foo     4\n","1    foo     5\n","2    bar     6\n","3  pippo     7"]},"metadata":{},"execution_count":131}]},{"cell_type":"code","metadata":{"id":"0My7FEQLmd_B","colab":{"base_uri":"https://localhost:8080/","height":235},"executionInfo":{"status":"ok","timestamp":1632387839054,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"2c395211-7bac-4075-d496-c155953be271"},"source":["pd.merge(left, right, on='key')\n","#only elements with the same key get combined"],"execution_count":null,"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>key</th>\n","      <th>lval</th>\n","      <th>rval</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>foo</td>\n","      <td>1</td>\n","      <td>4</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>foo</td>\n","      <td>1</td>\n","      <td>5</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>foo</td>\n","      <td>2</td>\n","      <td>4</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>foo</td>\n","      <td>2</td>\n","      <td>5</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>bar</td>\n","      <td>3</td>\n","      <td>6</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>bar</td>\n","      <td>23</td>\n","      <td>6</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["   key  lval  rval\n","0  foo     1     4\n","1  foo     1     5\n","2  foo     2     4\n","3  foo     2     5\n","4  bar     3     6\n","5  bar    23     6"]},"metadata":{},"execution_count":132}]},{"cell_type":"markdown","metadata":{"id":"qqylmKlzmd_B"},"source":["## Append"]},{"cell_type":"code","metadata":{"id":"nUdoqO8Amd_B","colab":{"base_uri":"https://localhost:8080/","height":297},"executionInfo":{"status":"ok","timestamp":1632337918954,"user_tz":-120,"elapsed":168,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"f4de804e-55f4-485f-925e-8feea1b8c1b7"},"source":["df = pd.DataFrame(np.random.randn(8, 4), columns=['A','B','C','D'])\n","df"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>0.255846</td>\n","      <td>-0.026438</td>\n","      <td>0.608159</td>\n","      <td>0.768008</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>0.690238</td>\n","      <td>0.937156</td>\n","      <td>-0.169350</td>\n","      <td>-0.316265</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>0.950695</td>\n","      <td>2.305145</td>\n","      <td>0.828268</td>\n","      <td>0.737981</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>0.593061</td>\n","      <td>-0.628690</td>\n","      <td>0.810517</td>\n","      <td>-1.926542</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>1.172135</td>\n","      <td>1.299184</td>\n","      <td>0.402195</td>\n","      <td>0.367529</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>-0.885994</td>\n","      <td>0.459251</td>\n","      <td>0.058794</td>\n","      <td>-0.936951</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>0.098682</td>\n","      <td>-0.698513</td>\n","      <td>1.706540</td>\n","      <td>-0.036510</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>-2.175880</td>\n","      <td>0.227054</td>\n","      <td>-0.389969</td>\n","      <td>-1.494573</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          A         B         C         D\n","0  0.255846 -0.026438  0.608159  0.768008\n","1  0.690238  0.937156 -0.169350 -0.316265\n","2  0.950695  2.305145  0.828268  0.737981\n","3  0.593061 -0.628690  0.810517 -1.926542\n","4  1.172135  1.299184  0.402195  0.367529\n","5 -0.885994  0.459251  0.058794 -0.936951\n","6  0.098682 -0.698513  1.706540 -0.036510\n","7 -2.175880  0.227054 -0.389969 -1.494573"]},"metadata":{},"execution_count":55}]},{"cell_type":"code","metadata":{"id":"cAxFWcXomd_B","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632337920575,"user_tz":-120,"elapsed":184,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"528f5fe1-9ea3-4950-b657-58394ddcebd5"},"source":["s = df.iloc[3]\n","s"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["A    0.593061\n","B   -0.628690\n","C    0.810517\n","D   -1.926542\n","Name: 3, dtype: float64"]},"metadata":{},"execution_count":56}]},{"cell_type":"code","metadata":{"id":"3I-bvwt0md_C","colab":{"base_uri":"https://localhost:8080/","height":328},"executionInfo":{"status":"ok","timestamp":1632338012346,"user_tz":-120,"elapsed":242,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"2cbd5cd4-98c7-40a7-c805-ebdcedce41b6"},"source":["df.append(s, ignore_index=True) #appending a row takes a long time because the whole dataframe gets copied to anothe memory location"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>0.255846</td>\n","      <td>-0.026438</td>\n","      <td>0.608159</td>\n","      <td>0.768008</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>0.690238</td>\n","      <td>0.937156</td>\n","      <td>-0.169350</td>\n","      <td>-0.316265</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>0.950695</td>\n","      <td>2.305145</td>\n","      <td>0.828268</td>\n","      <td>0.737981</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>0.593061</td>\n","      <td>-0.628690</td>\n","      <td>0.810517</td>\n","      <td>-1.926542</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>1.172135</td>\n","      <td>1.299184</td>\n","      <td>0.402195</td>\n","      <td>0.367529</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>-0.885994</td>\n","      <td>0.459251</td>\n","      <td>0.058794</td>\n","      <td>-0.936951</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>0.098682</td>\n","      <td>-0.698513</td>\n","      <td>1.706540</td>\n","      <td>-0.036510</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>-2.175880</td>\n","      <td>0.227054</td>\n","      <td>-0.389969</td>\n","      <td>-1.494573</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>0.593061</td>\n","      <td>-0.628690</td>\n","      <td>0.810517</td>\n","      <td>-1.926542</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          A         B         C         D\n","0  0.255846 -0.026438  0.608159  0.768008\n","1  0.690238  0.937156 -0.169350 -0.316265\n","2  0.950695  2.305145  0.828268  0.737981\n","3  0.593061 -0.628690  0.810517 -1.926542\n","4  1.172135  1.299184  0.402195  0.367529\n","5 -0.885994  0.459251  0.058794 -0.936951\n","6  0.098682 -0.698513  1.706540 -0.036510\n","7 -2.175880  0.227054 -0.389969 -1.494573\n","8  0.593061 -0.628690  0.810517 -1.926542"]},"metadata":{},"execution_count":57}]},{"cell_type":"markdown","metadata":{"id":"g_727qEcmd_C"},"source":["## Grouping"]},{"cell_type":"markdown","metadata":{"id":"QWdTtKB6nq1j"},"source":["By “group by” we are referring to a process involving one or more of the following steps:\n","\n","* Splitting the data into groups based on some criteria\n","\n","* Applying a function to each group independently\n","\n","* Combining the results into a data structure"]},{"cell_type":"code","metadata":{"id":"DYSlwz6-md_C","colab":{"base_uri":"https://localhost:8080/","height":297},"executionInfo":{"status":"ok","timestamp":1632385583906,"user_tz":-120,"elapsed":412,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"213e2999-72b5-4270-806e-1d2a506a74c8"},"source":["df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'foo'],\n","                   'B' : ['one', 'one', 'two', 'three','two', 'two', 'one', 'three'],\n","                   'C' : np.random.randn(8),\n","                   'D' : np.random.randn(8)}\n","                 )\n","df"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>foo</td>\n","      <td>one</td>\n","      <td>0.135536</td>\n","      <td>-0.154526</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>bar</td>\n","      <td>one</td>\n","      <td>-0.754903</td>\n","      <td>-0.327444</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>foo</td>\n","      <td>two</td>\n","      <td>-0.793231</td>\n","      <td>0.059022</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>bar</td>\n","      <td>three</td>\n","      <td>-0.591209</td>\n","      <td>1.638812</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>foo</td>\n","      <td>two</td>\n","      <td>1.313907</td>\n","      <td>-0.054394</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>bar</td>\n","      <td>two</td>\n","      <td>0.241331</td>\n","      <td>1.623484</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>foo</td>\n","      <td>one</td>\n","      <td>-0.239211</td>\n","      <td>-0.392570</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>foo</td>\n","      <td>three</td>\n","      <td>0.592759</td>\n","      <td>1.213933</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["     A      B         C         D\n","0  foo    one  0.135536 -0.154526\n","1  bar    one -0.754903 -0.327444\n","2  foo    two -0.793231  0.059022\n","3  bar  three -0.591209  1.638812\n","4  foo    two  1.313907 -0.054394\n","5  bar    two  0.241331  1.623484\n","6  foo    one -0.239211 -0.392570\n","7  foo  three  0.592759  1.213933"]},"metadata":{},"execution_count":85}]},{"cell_type":"code","metadata":{"id":"L_OgrvK7md_C","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632385584267,"user_tz":-120,"elapsed":7,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"358eaedb-2096-43d0-a36f-2a4560194e87"},"source":["grouped=df.groupby('A')\n","\n","grouped.groups #see the groups ('foo','bar') and the corresponding rows\n","\n"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["{'bar': [1, 3, 5], 'foo': [0, 2, 4, 6, 7]}"]},"metadata":{},"execution_count":86}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"F8R_zWoCtLZZ","executionInfo":{"status":"ok","timestamp":1632385584622,"user_tz":-120,"elapsed":6,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"d52d011f-2baa-4e02-ef30-210c6e698400"},"source":["for name, group in grouped: #print different groups\n","    print(name)\n","    print(group)"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["bar\n","     A      B         C         D\n","1  bar    one -0.754903 -0.327444\n","3  bar  three -0.591209  1.638812\n","5  bar    two  0.241331  1.623484\n","foo\n","     A      B         C         D\n","0  foo    one  0.135536 -0.154526\n","2  foo    two -0.793231  0.059022\n","4  foo    two  1.313907 -0.054394\n","6  foo    one -0.239211 -0.392570\n","7  foo  three  0.592759  1.213933\n"]}]},{"cell_type":"code","metadata":{"id":"Fp3m1DEAmd_C","colab":{"base_uri":"https://localhost:8080/","height":142},"executionInfo":{"status":"ok","timestamp":1632385585028,"user_tz":-120,"elapsed":4,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"c6bbe772-1e2a-4aab-b8d8-2af44dcd57a8"},"source":["df_sum=grouped.sum() #apply a transformation to each group separately (sum along the column)\n","#notice A has become the index of the dataframe\n","df_sum"],"execution_count":null,"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>C</th>\n","      <th>D</th>\n","    </tr>\n","    <tr>\n","      <th>A</th>\n","      <th></th>\n","      <th></th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>bar</th>\n","      <td>-1.104781</td>\n","      <td>2.934852</td>\n","    </tr>\n","    <tr>\n","      <th>foo</th>\n","      <td>1.009761</td>\n","      <td>0.671464</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["            C         D\n","A                      \n","bar -1.104781  2.934852\n","foo  1.009761  0.671464"]},"metadata":{},"execution_count":88}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":111},"id":"3Oje9FGkwLqZ","executionInfo":{"status":"ok","timestamp":1632385585510,"user_tz":-120,"elapsed":4,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"00672f8d-a8b6-4e8a-dc5d-1c3a40d25a65"},"source":["#to reset the index we use\n","df_sum=df_sum.reset_index()\n","df_sum"],"execution_count":null,"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>A</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>bar</td>\n","      <td>-1.104781</td>\n","      <td>2.934852</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>foo</td>\n","      <td>1.009761</td>\n","      <td>0.671464</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["     A         C         D\n","0  bar -1.104781  2.934852\n","1  foo  1.009761  0.671464"]},"metadata":{},"execution_count":89}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":266},"id":"7cFKNJi17Toh","executionInfo":{"status":"ok","timestamp":1632385640130,"user_tz":-120,"elapsed":336,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"74fba952-bb2f-4273-9a75-c0f306e0d09c"},"source":["df_std=df.groupby(['A','B']).std() #can group by multiple columns\n","#notice how A,B behave as a hierarchical index\n","df_std"],"execution_count":null,"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></th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","    <tr>\n","      <th>A</th>\n","      <th>B</th>\n","      <th></th>\n","      <th></th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th rowspan=\"3\" valign=\"top\">bar</th>\n","      <th>one</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>three</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>two</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th rowspan=\"3\" valign=\"top\">foo</th>\n","      <th>one</th>\n","      <td>0.264986</td>\n","      <td>0.168322</td>\n","    </tr>\n","    <tr>\n","      <th>three</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>two</th>\n","      <td>1.489972</td>\n","      <td>0.080197</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                  C         D\n","A   B                        \n","bar one         NaN       NaN\n","    three       NaN       NaN\n","    two         NaN       NaN\n","foo one    0.264986  0.168322\n","    three       NaN       NaN\n","    two    1.489972  0.080197"]},"metadata":{},"execution_count":94}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":235},"id":"6cOQgVpBv6jT","executionInfo":{"status":"ok","timestamp":1632385640619,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"9319fd8f-10c7-4a17-d098-adfd08e14053"},"source":["df_std=df_std.reset_index()\n","df_std"],"execution_count":null,"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>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>bar</td>\n","      <td>one</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>bar</td>\n","      <td>three</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>bar</td>\n","      <td>two</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>foo</td>\n","      <td>one</td>\n","      <td>0.264986</td>\n","      <td>0.168322</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>foo</td>\n","      <td>three</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>foo</td>\n","      <td>two</td>\n","      <td>1.489972</td>\n","      <td>0.080197</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["     A      B         C         D\n","0  bar    one       NaN       NaN\n","1  bar  three       NaN       NaN\n","2  bar    two       NaN       NaN\n","3  foo    one  0.264986  0.168322\n","4  foo  three       NaN       NaN\n","5  foo    two  1.489972  0.080197"]},"metadata":{},"execution_count":95}]},{"cell_type":"markdown","metadata":{"id":"FUsTNngqmd_C"},"source":["## Plotting"]},{"cell_type":"code","metadata":{"id":"GEASt_v1md_C"},"source":["%matplotlib inline"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"hJffqIGZmd_D","colab":{"base_uri":"https://localhost:8080/","height":609},"executionInfo":{"status":"ok","timestamp":1632419896972,"user_tz":-120,"elapsed":927,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"c83b6ca9-cc1d-40ef-deca-5da91ba38838"},"source":["ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))\n","ts = ts.cumsum()\n","plt.figure(figsize=(15,10))\n","plt.plot(ts)"],"execution_count":3,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[<matplotlib.lines.Line2D at 0x7f32a0900c90>]"]},"metadata":{},"execution_count":3},{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAA28AAAI/CAYAAADgNuG/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd5gkd30n/nd1hc6Tw+ZdabW7ygEJMAhhCWEwyGCCj3PCOB93gLHPZ8zZ+IwzxjYOP4MAG4yxMcbGGGSCTLCEkFBAWau8Oc1Onulc+fdH1be6Ok13T/dMT8+8X8+jR7M9PTO1q1V/+1OfJLmuCyIiIiIiItrYIr2+ACIiIiIiImqOwRsREREREVEfYPBGRERERETUBxi8ERERERER9QEGb0RERERERH2AwRsREREREVEfUHp9AWFjY2Puvn37en0ZREREREREPfHQQw/Nua47Xu9zGyp427dvHx588MFeXwYREREREVFPSJJ0stHnWDZJRERERETUBxi8ERERERER9QEGb0RERERERH2AwRsREREREVEfYPBGRERERETUBxi8ERERERER9QEGb0RERERERH2AwRsREREREVEfYPBGRERERETUBxi8ERERERER9QEGb0RERERERH2AwRsREREREVEfYPBGRERERETUBxi8ERERERER9QEGb0RERERERH2AwRsREREREVEfYPBGRERERETUBxi8ERERERER9QEGb0RERERERH2AwRsREREREVEfYPBGRERERETUBxi8ERERERER9QEGb0RE1FW/8e9P4LbHzvX6MoiIiDYdBm9ERNQ1M5kS/un+U/ilzz7S60shIiLadBi8ERFR19z53CwA4MLxZI+vhIiIaPNh8EZERF1z/7EFAMC+UQZvRERE3dZx8CZJ0m5Jku6QJOkpSZKelCTp3f7j75ck6awkSY/6/7y288slIqKNbKlgAAB0y+7xlRAREW0+She+hwXgV13XfViSpDSAhyRJ+ob/uT93XfdPu/AziIioDxQML2grmU6Pr4SIiGjz6Th4c113CsCU/3FWkqSnAezs9PsSEVH/KZgieGPmjYiIqNu62vMmSdI+ANcAuN9/6J2SJD0uSdInJUka7ubPIiKijadoWACAJ89l8JaP3csgjoiIqIu6FrxJkpQC8G8Aftl13QyAWwHs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\n","text/plain":["<Figure size 1080x720 with 1 Axes>"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"Jn2kHi_nmd_D","colab":{"base_uri":"https://localhost:8080/","height":626},"executionInfo":{"status":"ok","timestamp":1632419944244,"user_tz":-120,"elapsed":829,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"5e941814-653a-40bd-f359-28d32b3ecf7a"},"source":["df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=['A', 'B', 'C', 'D'])\n","df = df.cumsum()\n","plt.figure(figsize=(15,10))\n","plt.plot(df.index,df['A'])\n","plt.legend(loc='best')\n"],"execution_count":5,"outputs":[{"output_type":"stream","name":"stderr","text":["No handles with labels found to put in legend.\n"]},{"output_type":"execute_result","data":{"text/plain":["<matplotlib.legend.Legend at 0x7f329c6a1610>"]},"metadata":{},"execution_count":5},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 1080x720 with 1 Axes>"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"nU2ten5Amd_D"},"source":["## Getting Data In/Out"]},{"cell_type":"code","metadata":{"id":"KII8V4Czmd_D"},"source":["df.to_csv('foo.csv') #write dataframe to file in comma separated values (csv) format"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"pCiPRbdbmd_D","colab":{"base_uri":"https://localhost:8080/","height":419},"executionInfo":{"status":"ok","timestamp":1632385654749,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"e60044e7-61bb-42bb-fa1d-46eeb79921e5"},"source":["pd.read_csv('foo.csv') #read datafream from file"],"execution_count":null,"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>Unnamed: 0</th>\n","      <th>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>2000-01-01</td>\n","      <td>-0.167665</td>\n","      <td>-0.058692</td>\n","      <td>0.871147</td>\n","      <td>1.462657</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>2000-01-02</td>\n","      <td>1.130091</td>\n","      <td>0.385623</td>\n","      <td>0.859349</td>\n","      <td>-0.146619</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>2000-01-03</td>\n","      <td>0.944996</td>\n","      <td>-0.316596</td>\n","      <td>1.114132</td>\n","      <td>-0.804473</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>2000-01-04</td>\n","      <td>1.430127</td>\n","      <td>-0.032473</td>\n","      <td>-0.383608</td>\n","      <td>0.809568</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>2000-01-05</td>\n","      <td>2.134286</td>\n","      <td>0.592066</td>\n","      <td>-0.180294</td>\n","      <td>0.763598</td>\n","    </tr>\n","    <tr>\n","      <th>...</th>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","    </tr>\n","    <tr>\n","      <th>995</th>\n","      <td>2002-09-22</td>\n","      <td>-51.602961</td>\n","      <td>-8.194392</td>\n","      <td>-6.957667</td>\n","      <td>15.497378</td>\n","    </tr>\n","    <tr>\n","      <th>996</th>\n","      <td>2002-09-23</td>\n","      <td>-51.196911</td>\n","      <td>-8.583613</td>\n","      <td>-6.887184</td>\n","      <td>15.508617</td>\n","    </tr>\n","    <tr>\n","      <th>997</th>\n","      <td>2002-09-24</td>\n","      <td>-50.990385</td>\n","      <td>-8.566861</td>\n","      <td>-8.707100</td>\n","      <td>16.255409</td>\n","    </tr>\n","    <tr>\n","      <th>998</th>\n","      <td>2002-09-25</td>\n","      <td>-51.388193</td>\n","      <td>-8.518555</td>\n","      <td>-9.784863</td>\n","      <td>16.090249</td>\n","    </tr>\n","    <tr>\n","      <th>999</th>\n","      <td>2002-09-26</td>\n","      <td>-51.559110</td>\n","      <td>-7.757157</td>\n","      <td>-11.003330</td>\n","      <td>14.024726</td>\n","    </tr>\n","  </tbody>\n","</table>\n","<p>1000 rows × 5 columns</p>\n","</div>"],"text/plain":["     Unnamed: 0          A         B          C          D\n","0    2000-01-01  -0.167665 -0.058692   0.871147   1.462657\n","1    2000-01-02   1.130091  0.385623   0.859349  -0.146619\n","2    2000-01-03   0.944996 -0.316596   1.114132  -0.804473\n","3    2000-01-04   1.430127 -0.032473  -0.383608   0.809568\n","4    2000-01-05   2.134286  0.592066  -0.180294   0.763598\n","..          ...        ...       ...        ...        ...\n","995  2002-09-22 -51.602961 -8.194392  -6.957667  15.497378\n","996  2002-09-23 -51.196911 -8.583613  -6.887184  15.508617\n","997  2002-09-24 -50.990385 -8.566861  -8.707100  16.255409\n","998  2002-09-25 -51.388193 -8.518555  -9.784863  16.090249\n","999  2002-09-26 -51.559110 -7.757157 -11.003330  14.024726\n","\n","[1000 rows x 5 columns]"]},"metadata":{},"execution_count":100}]},{"cell_type":"code","metadata":{"id":"57iUT77Imd_D"},"source":["df.to_excel('foo.xlsx', sheet_name='Sheet1')"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"vSm1rfrnmd_D","colab":{"base_uri":"https://localhost:8080/","height":419},"executionInfo":{"status":"ok","timestamp":1632385656956,"user_tz":-120,"elapsed":5,"user":{"displayName":"Giovanni Piccioli","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiLaoLHa3s8BcYjznpYm1zg84NVjG47wGraGpbgILw=s64","userId":"06977241866726205603"}},"outputId":"7c4c1fb9-df44-4c07-c551-e74275fbd23e"},"source":["pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])"],"execution_count":null,"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>Unnamed: 0</th>\n","      <th>A</th>\n","      <th>B</th>\n","      <th>C</th>\n","      <th>D</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>2000-01-01</td>\n","      <td>-0.167665</td>\n","      <td>-0.058692</td>\n","      <td>0.871147</td>\n","      <td>1.462657</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>2000-01-02</td>\n","      <td>1.130091</td>\n","      <td>0.385623</td>\n","      <td>0.859349</td>\n","      <td>-0.146619</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>2000-01-03</td>\n","      <td>0.944996</td>\n","      <td>-0.316596</td>\n","      <td>1.114132</td>\n","      <td>-0.804473</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>2000-01-04</td>\n","      <td>1.430127</td>\n","      <td>-0.032473</td>\n","      <td>-0.383608</td>\n","      <td>0.809568</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>2000-01-05</td>\n","      <td>2.134286</td>\n","      <td>0.592066</td>\n","      <td>-0.180294</td>\n","      <td>0.763598</td>\n","    </tr>\n","    <tr>\n","      <th>...</th>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","      <td>...</td>\n","    </tr>\n","    <tr>\n","      <th>995</th>\n","      <td>2002-09-22</td>\n","      <td>-51.602961</td>\n","      <td>-8.194392</td>\n","      <td>-6.957667</td>\n","      <td>15.497378</td>\n","    </tr>\n","    <tr>\n","      <th>996</th>\n","      <td>2002-09-23</td>\n","      <td>-51.196911</td>\n","      <td>-8.583613</td>\n","      <td>-6.887184</td>\n","      <td>15.508617</td>\n","    </tr>\n","    <tr>\n","      <th>997</th>\n","      <td>2002-09-24</td>\n","      <td>-50.990385</td>\n","      <td>-8.566861</td>\n","      <td>-8.707100</td>\n","      <td>16.255409</td>\n","    </tr>\n","    <tr>\n","      <th>998</th>\n","      <td>2002-09-25</td>\n","      <td>-51.388193</td>\n","      <td>-8.518555</td>\n","      <td>-9.784863</td>\n","      <td>16.090249</td>\n","    </tr>\n","    <tr>\n","      <th>999</th>\n","      <td>2002-09-26</td>\n","      <td>-51.559110</td>\n","      <td>-7.757157</td>\n","      <td>-11.003330</td>\n","      <td>14.024726</td>\n","    </tr>\n","  </tbody>\n","</table>\n","<p>1000 rows × 5 columns</p>\n","</div>"],"text/plain":["    Unnamed: 0          A         B          C          D\n","0   2000-01-01  -0.167665 -0.058692   0.871147   1.462657\n","1   2000-01-02   1.130091  0.385623   0.859349  -0.146619\n","2   2000-01-03   0.944996 -0.316596   1.114132  -0.804473\n","3   2000-01-04   1.430127 -0.032473  -0.383608   0.809568\n","4   2000-01-05   2.134286  0.592066  -0.180294   0.763598\n","..         ...        ...       ...        ...        ...\n","995 2002-09-22 -51.602961 -8.194392  -6.957667  15.497378\n","996 2002-09-23 -51.196911 -8.583613  -6.887184  15.508617\n","997 2002-09-24 -50.990385 -8.566861  -8.707100  16.255409\n","998 2002-09-25 -51.388193 -8.518555  -9.784863  16.090249\n","999 2002-09-26 -51.559110 -7.757157 -11.003330  14.024726\n","\n","[1000 rows x 5 columns]"]},"metadata":{},"execution_count":102}]}]}