{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# R\u00e9cup\u00e9ration des donn\u00e9es\n", "\n", "Ce notebook donne quelques exemples de codes qui permettent de r\u00e9cup\u00e9rer les donn\u00e9es utilis\u00e9es par d'autres notebooks. Le module [actuariat_python](http://www.xavierdupre.fr/app/actuariat_python/helpsphinx/index.html) est impl\u00e9ment\u00e9 avec Python 3. Pour les utilisateurs de Python 2.7, il suffira de recopier le code chaque fonction dans le notebook (suivre les liens ins\u00e9r\u00e9s dans le notebook)."]}, {"cell_type": "code", "execution_count": 1, "metadata": {"collapsed": false}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["Populating the interactive namespace from numpy and matplotlib\n"]}, {"data": {"text/html": ["
\n", ""], "text/plain": [""]}, "execution_count": 2, "metadata": {}, "output_type": "execute_result"}], "source": ["%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "plt.style.use('ggplot')\n", "# le code qui suit n'est pas indispensable, il g\u00e9n\u00e8re automatiquement un menu\n", "# dans le notebook\n", "from jyquickhelper import add_notebook_menu\n", "add_notebook_menu()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Population fran\u00e7aise janvier 2017\n", "\n", "Les donn\u00e9es sont disponibles sur le site de l'INSEE [Pyramide des \u00e2ges au 1er janvier](https://www.insee.fr/fr/statistiques/1892086?sommaire=1912926). Elles sont disponibles au format Excel. Le format n'est pas le plus simple et il a le don d'\u00eatre parfois illisible avec pandas. Le plus simple est de le convertir au format texte avec Excel."]}, {"cell_type": "code", "execution_count": 2, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/html": ["\n", "
\n", " \n", " \n", " | \n", " Population totale par sexe et \u00e2ge au 1er janvier 2017, France | \n", " Unnamed: 1 | \n", " Unnamed: 2 | \n", " Unnamed: 3 | \n", " Unnamed: 4 | \n", "
\n", " \n", " \n", " \n", " 0 | \n", " Mis \u00e0 jour : janvier 2017 | \n", " NaN | \n", " NaN | \n", " NaN | \n", " NaN | \n", "
\n", " \n", " 1 | \n", " NaN | \n", " NaN | \n", " NaN | \n", " NaN | \n", " NaN | \n", "
\n", " \n", " 2 | \n", " Ann\u00e9e de naissance | \n", " \u00c2ge r\u00e9volu | \n", " Nombre d'hommes | \n", " Nombre de femmes | \n", " Ensemble | \n", "
\n", " \n", " 3 | \n", " 2016 | \n", " 0 | \n", " 382 585 | \n", " 364 392 | \n", " 746 977 | \n", "
\n", " \n", " 4 | \n", " 2015 | \n", " 1 | \n", " 390 810 | \n", " 373 164 | \n", " 763 974 | \n", "
\n", " \n", "
\n", "
"], "text/plain": [" Population totale par sexe et \u00e2ge au 1er janvier 2017, France Unnamed: 1 \\\n", "0 Mis \u00e0 jour : janvier 2017 NaN \n", "1 NaN NaN \n", "2 Ann\u00e9e de naissance \u00c2ge r\u00e9volu \n", "3 2016 0 \n", "4 2015 1 \n", "\n", " Unnamed: 2 Unnamed: 3 Unnamed: 4 \n", "0 NaN NaN NaN \n", "1 NaN NaN NaN \n", "2 Nombre d'hommes Nombre de femmes Ensemble \n", "3 382 585 364 392 746 977 \n", "4 390 810 373 164 763 974 "]}, "execution_count": 3, "metadata": {}, "output_type": "execute_result"}], "source": ["url = \"https://www.insee.fr/fr/statistiques/fichier/1892086/pop-totale-france.xls\"\n", "url = \"pop-totale-france.txt\"\n", "import pandas\n", "df=pandas.read_csv(url, sep=\"\\t\", encoding=\"latin-1\")\n", "df.head(n=5)"]}, {"cell_type": "code", "execution_count": 3, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/html": ["\n", "
\n", " \n", " \n", " | \n", " Ann\u00e9e de naissance | \n", " \u00c2ge r\u00e9volu | \n", " Nombre d'hommes | \n", " Nombre de femmes | \n", " Ensemble | \n", "
\n", " \n", " \n", " \n", " 0 | \n", " 2016 | \n", " 0 | \n", " 382 585 | \n", " 364 392 | \n", " 746 977 | \n", "
\n", " \n", " 1 | \n", " 2015 | \n", " 1 | \n", " 390 810 | \n", " 373 164 | \n", " 763 974 | \n", "
\n", " \n", " 2 | \n", " 2014 | \n", " 2 | \n", " 402 728 | \n", " 386 467 | \n", " 789 195 | \n", "
\n", " \n", " 3 | \n", " 2013 | \n", " 3 | \n", " 405 636 | \n", " 387 097 | \n", " 792 733 | \n", "
\n", " \n", " 4 | \n", " 2012 | \n", " 4 | \n", " 416 074 | \n", " 396 365 | \n", " 812 439 | \n", "
\n", " \n", "
\n", "
"], "text/plain": [" Ann\u00e9e de naissance \u00c2ge r\u00e9volu Nombre d'hommes Nombre de femmes Ensemble\n", "0 2016 0 382 585 364 392 746 977\n", "1 2015 1 390 810 373 164 763 974\n", "2 2014 2 402 728 386 467 789 195\n", "3 2013 3 405 636 387 097 792 733\n", "4 2012 4 416 074 396 365 812 439"]}, "execution_count": 4, "metadata": {}, "output_type": "execute_result"}], "source": ["df=pandas.read_csv(url, sep=\"\\t\", encoding=\"latin-1\", skiprows=3)\n", "df.head(n=5)"]}, {"cell_type": "code", "execution_count": 4, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/html": ["\n", "
\n", " \n", " \n", " | \n", " Ann\u00e9e de naissance | \n", " \u00c2ge r\u00e9volu | \n", " Nombre d'hommes | \n", " Nombre de femmes | \n", " Ensemble | \n", "
\n", " \n", " \n", " \n", " 100 | \n", " 1916 ou avant | \n", " 100 ou plus | \n", " 3 015 | \n", " 15 617 | \n", " 18 632 | \n", "
\n", " \n", " 101 | \n", " NaN | \n", " Total | \n", " 32 455 859 | \n", " 34 534 967 | \n", " 66 990 826 | \n", "
\n", " \n", " 102 | \n", " NaN | \n", " NaN | \n", " NaN | \n", " NaN | \n", " NaN | \n", "
\n", " \n", " 103 | \n", " Champ : France inclus Mayotte. | \n", " NaN | \n", " NaN | \n", " NaN | \n", " NaN | \n", "
\n", " \n", " 104 | \n", " Source : Insee, estimations de population (r\u00e9s... | \n", " NaN | \n", " NaN | \n", " NaN | \n", " NaN | \n", "
\n", " \n", "
\n", "
"], "text/plain": [" Ann\u00e9e de naissance \u00c2ge r\u00e9volu \\\n", "100 1916 ou avant 100 ou plus \n", "101 NaN Total \n", "102 NaN NaN \n", "103 Champ : France inclus Mayotte. NaN \n", "104 Source : Insee, estimations de population (r\u00e9s... NaN \n", "\n", " Nombre d'hommes Nombre de femmes Ensemble \n", "100 3 015 15 617 18 632 \n", "101 32 455 859 34 534 967 66 990 826 \n", "102 NaN NaN NaN \n", "103 NaN NaN NaN \n", "104 NaN NaN NaN "]}, "execution_count": 5, "metadata": {}, "output_type": "execute_result"}], "source": ["df.tail(n=5)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["La r\u00e9cup\u00e9ration de ces donn\u00e9es est impl\u00e9ment\u00e9e dans la fonction [population_france_year](http://www.xavierdupre.fr/app/actuariat_python/helpsphinx/actuariat_python/data/population.html#actuariat_python.data.population.population_france_year) :"]}, {"cell_type": "code", "execution_count": 5, "metadata": {"collapsed": false}, "outputs": [], "source": ["from actuariat_python.data import population_france_year\n", "df = population_france_year()"]}, {"cell_type": "code", "execution_count": 6, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/html": ["\n", "
\n", " \n", " \n", " | \n", " naissance | \n", " age | \n", " hommes | \n", " femmes | \n", " ensemble | \n", "
\n", " \n", " \n", " \n", " 0 | \n", " 2016 | \n", " 0 | \n", " 382585 | \n", " 364392 | \n", " 746977 | \n", "
\n", " \n", " 1 | \n", " 2015 | \n", " 1 | \n", " 390810 | \n", " 373164 | \n", " 763974 | \n", "
\n", " \n", " 2 | \n", " 2014 | \n", " 2 | \n", " 402728 | \n", " 386467 | \n", " 789195 | \n", "
\n", " \n", "
\n", "
"], "text/plain": [" naissance age hommes femmes ensemble\n", "0 2016 0 382585 364392 746977\n", "1 2015 1 390810 373164 763974\n", "2 2014 2 402728 386467 789195"]}, "execution_count": 7, "metadata": {}, "output_type": "execute_result"}], "source": ["df.head(n=3)"]}, {"cell_type": "code", "execution_count": 7, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/html": ["\n", "
\n", " \n", " \n", " | \n", " naissance | \n", " age | \n", " hommes | \n", " femmes | \n", " ensemble | \n", "
\n", " \n", " \n", " \n", " 98 | \n", " 1918 | \n", " 98 | \n", " 2474 | \n", " 10089 | \n", " 12563 | \n", "
\n", " \n", " 99 | \n", " 1917 | \n", " 99 | \n", " 1362 | \n", " 6765 | \n", " 8127 | \n", "
\n", " \n", " 100 | \n", " 1916 | \n", " 100 | \n", " 3015 | \n", " 15617 | \n", " 18632 | \n", "
\n", " \n", "
\n", "
"], "text/plain": [" naissance age hommes femmes ensemble\n", "98 1918 98 2474 10089 12563\n", "99 1917 99 1362 6765 8127\n", "100 1916 100 3015 15617 18632"]}, "execution_count": 8, "metadata": {}, "output_type": "execute_result"}], "source": ["df.tail(n=3)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["D'apr\u00e8s cette table, il y a plus de personnes \u00e2g\u00e9es de 110 ans que de 109 ans. C'est d\u00fb au fait que la derni\u00e8re ligne aggr\u00e8ge toutes les personnes \u00e2g\u00e9es de plus de 110 ans."]}, {"cell_type": "markdown", "metadata": {"collapsed": true}, "source": ["### Table de mortalit\u00e9 2000-2002 (France)\n", "\n", "On utilise quelques raccourcis afin d'\u00e9viter d'y passer trop de temps. Les donn\u00e9es sont fournis au format Excel \u00e0 l'adresse : http://www.institutdesactuaires.com/gene/main.php?base=314. La fonction [table_mortalite_france_00_02](http://www.xavierdupre.fr/app/actuariat_python/helpsphinx/actuariat_python/data/population.html#actuariat_python.data.population.table_mortalite_france_00_02) permet de les r\u00e9cup\u00e9rer."]}, {"cell_type": "code", "execution_count": 8, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/html": ["\n", "
\n", " \n", " \n", " | \n", " Age | \n", " Homme | \n", " Femme | \n", "
\n", " \n", " \n", " \n", " 0 | \n", " 0.0 | \n", " 100000.0 | \n", " 100000.0 | \n", "
\n", " \n", " 1 | \n", " 1.0 | \n", " 99511.0 | \n", " 99616.0 | \n", "
\n", " \n", " 2 | \n", " 2.0 | \n", " 99473.0 | \n", " 99583.0 | \n", "
\n", " \n", " 3 | \n", " 3.0 | \n", " 99446.0 | \n", " 99562.0 | \n", "
\n", " \n", " 4 | \n", " 4.0 | \n", " 99424.0 | \n", " 99545.0 | \n", "
\n", " \n", "
\n", "
"], "text/plain": [" Age Homme Femme\n", "0 0.0 100000.0 100000.0\n", "1 1.0 99511.0 99616.0\n", "2 2.0 99473.0 99583.0\n", "3 3.0 99446.0 99562.0\n", "4 4.0 99424.0 99545.0"]}, "execution_count": 9, "metadata": {}, "output_type": "execute_result"}], "source": ["from actuariat_python.data import table_mortalite_france_00_02\n", "df=table_mortalite_france_00_02()\n", "df.head()"]}, {"cell_type": "code", "execution_count": 9, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/plain": [""]}, "execution_count": 10, "metadata": {}, "output_type": "execute_result"}, {"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAENCAYAAADKcIhSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8lNXd///XuWYmy2SyzSQhJGELEJE9GgQRWSPuFRVt\n3Vqx3i60WvRue6Otrb2rlFoRCsIPq4i2eruUKn7dNY2EakCDEGSTfd9CMknIZJ+5zu+PgQQVJMlM\nMlk+z8cjj2SuzHXOmeNl3pxrOUdprTVCCCFEAIxQN0AIIUTHJ2EihBAiYBImQgghAiZhIoQQImAS\nJkIIIQImYSKEECJgEiZCCCECJmEihBAiYBImQgghAiZhIoQQImDWUDegNRw6dCjUTWgXEhISKC4u\nDnUz2gXpi0bSF42kLxqlpKQEtL+MTIQQQgRMwkQIIUTAJEyEEEIErFNeMxFCdD1aa2pqajBNE6VU\nk/Y5evQotbW1rdyy9kNrjWEYRERENLmPmkrCRAjRKdTU1GCz2bBam/5nzWq1YrFYWrFV7Y/X66Wm\npobIyMiglnvWXl+0aBFr164lNjaWOXPmAODxeJg7dy7Hjh0jMTGRBx54AIfDgdaapUuXsm7dOsLD\nw5k+fTrp6ekArFixgjfeeAOA6667jvHjxwOwa9cuFi5cSF1dHZmZmUybNg2l1BnrEEKI0zFNs1lB\n0lVZrdZWGY2d9ZrJ+PHjefjhh7+xbfny5QwZMoT58+czZMgQli9fDsC6des4cuQI8+fP56677uK5\n554D/OGzbNkyZs2axaxZs1i2bBkejweAZ599lrvvvpv58+dz5MgRCgsLv7cOIYQ4nWCftunMWqOv\nzhomAwcO/M6IoKCggHHjxgEwbtw4CgoKAFizZg1jx45FKUVGRgaVlZWUlpZSWFjI0KFDcTgcOBwO\nhg4dSmFhIaWlpVRXV5ORkYFSirFjxzaUdaY6muLAUTeyGrEQQrSdFo0Jy8vLiY+PByAuLo7y8nIA\n3G43CQkJDe9zuVy43W7cbjcul6thu9PpPO32k+//vjpOJycnh5ycHABmz57Nz3KKiDH30ctWj81Q\nWA2wKIXFUFgUGEphGArjGz8rlAJDGRjKn9z+bQplgML/PvDvp07sw4ntCvzf1anvUw3vUyd+9v/e\naKgTdeJni4GyWLAYCsOwYFgtGIb/tfXEey0n2my1qMbPc+L3VsPAaihsFv82m8WgxgeO2HisFgOL\n6tr/crNard84NruyztoXR48ebdFprmCeGuvTpw+7d+9ueP3qq6+yfv16/vSnPwWtjmAIDw8P+jEQ\ncC+qE38oW9PZ6sjOziY7O7vh9fTwvXxdXMNhM5xapfApC15lYCoDE4WpLJhK+b/wb9eAVqrxZ07+\nrECBiUIr5X8NmCeCxFQd5+5qq+IbAWQxVMM266nbToSv9Rth9c33nbq/1VBYLQrriX1Ohp3N0vhe\n28nvlhM/n/geZvFvC7MY2CyK8BP7BPuYkiedG3XWvqitrW32xXSr1YrX6w1qO04tz+fzYZpm0OsI\nVG1t7XeOgUCfgG9RmMTGxlJaWkp8fDylpaXExMQA/hHHqQ0sKSnB6XTidDrZvHlzw3a3283AgQNx\nOp2UlJR85/3fV0dTXDr1Ui495bU2feD1gukDnwk+L5jmiS+f/7vWjdv0Ka+/8zP+76bPv11rtM9E\no0+8NDFPvMbUmCf28Zka0zTR2gQTTG1inqhXmyamT6O1z//d1Ph8Xkyfienz4Tvx3fR68Xl9+Hw+\nfF6v/6ve/7PX68Vb7/+dV1nwGpYTIWrBZxgNP3sNCz6LDa81HJ8tHJ8tDK81DK/Fhs9qw2fY8Fqs\n+AwLdcr/3asMfBh4UXhR+LTCa2q8WuMztf9nsyVH0ukpIMyiCLcaDd8jrIpwi0GY1SDS6t8WaTWI\nsBpE2Pw/R9oM7Cd+ttsM7GEW7DaDqDBDTnuKkNu/fz8PPvggpaWlOJ1O5s6dS2pqKjNmzCAiIoKN\nGzdSUlLCnDlzWLZsGV9++SWZmZnMmzcPgP79+/PjH/+Y3NxckpKSmDlzJo8//jgHDx7kD3/4A5Mn\nT8bn8zFr1ixWrVpFXV0dP/nJT7jtttva5PO1KEyysrLIy8tjypQp5OXlMWLEiIbtH3zwARdddBHb\nt2/HbrcTHx/P8OHDeeWVVxouuq9fv56bb74Zh8NBZGQk27Zto3///qxcuZLLLrvse+toCWVYIKz1\nbv9rTyePtGlCbQ1UVxIfEU7poQNQXYWuqoTqSqg68VVdDtWV6CoPVFed2Hbid/V131+JMiDSDvao\nE18OtD0KM9KB1x6NLzKK+kj/d294FN4IO/XhkdSH2/HaIvAqg3qfpt7U1Ps0dT7zxHf/61qfSZ1P\nU+s1qT3x+1qvSa1XU1Xno7RKU+31b6v2+t97Nha1HXuYBUeYgSPMQnSYhehw/1fMya8IC3HhVmIj\nLMRFWIkKM7r0qcGOzHz1WfT+3Wd/n1JN/oeG6tEH40f/9b3vqamp4ZJLLml4XVZWxuTJkwH47W9/\nyw033MCNN97Iq6++yiOPPMLzzz8P+E/rv/3223z00UdMmzaN5cuX8+STT3LFFVewceNGBg8eTFVV\nFRdddBGPPPIIP/3pT3niiSd45ZVX2LZtGzNmzGDy5Mm88sorREdH895771FbW8uUKVMYN24cPXv2\nbNJnDMRZw2TevHls3ryZiooK7rnnHm688UamTJnC3Llzyc3NbbhtFyAzM5O1a9dy//33ExYWxvTp\n0wFwOBxcf/31PPTQQwBMnTq14aL+nXfeyaJFi6irq2P48OFkZmYCnLEO8f2UceIPfaQda0ICyu4f\n0TXnT6Kur28Mluoq/8/Vld8KJE9jSFV5UEcOYqmqxFLlgbqz3HYYEQlR0RDlgKho1MmfHTHgiAZH\nDMoRA65YcMRCTCzKFnbG4nympsZrUlXvD5eqOpOqeh9V9SaVdSaV9T60NZxjZR48dT4q6kyO1/o4\nVFHH8Vr/+07HakBchJX4SP+XM9KKK9KK027FZbeRYLfislux27rWcwrizCIiIvj4448bXr/22mt8\n9dVXAHz55ZcNd7hef/31PPbYYw3vu+SSS1BKMWDAABISEjj33HMByMjI4MCBAwwePJiwsDAmTJgA\nwIABAwgLC8Nms3Huuedy4MABAPLy8tiyZQvvvvsuABUVFezevbt9hMmMGTNOu/13v/vdd7Yppbjz\nzjtP+/6JEycyceLE72zv27dvw/Mrp4qOjj5tHaL1KZsNbHEQE/fN7U3cX3vr/WFTeSJ0qjzoSk/D\nz1R6wFPhHxVVVqBLi8FT4d+u/X/Yv/NvxUg7RMf62xQTj4qNh9h4iHNixDqxx7uwx7kgJuq0o4nv\nu05Q79Mcr/VyvNZHeY2P8hov5bU+Squ9lNV4Ka32cdRTz5Zj1VTU+r6zf5TNIDHKRmKUjSSHjW5R\nNpKibHRz+F87WnFULE7vbCOIk1rjmklLhIX5/7FkGAbh4eEN2w3DaGif1WptOLZPfd+p7wF47LHH\nGp7ja0vyhI8IOmW1QUy8/+vktibsp03TP/KpKAfPcag4jq4o97+uKIfjZejjZXB4P/rrr/zBxLeC\nJywc4hPAmYByJoIrCVxJ1PXLQIdF+oPI+OZNEzaLwmW34bLbztrGOp9JabWX4iovxZX1FFd5OVZZ\nT3FVPUWV9Ww8WkX1ty4gRYcZJEeH0d0RRnK0jZToMFJiwkiJDiM6XIKmq8jKyuKtt95i6tSpvPHG\nG4wcOTLodYwbN46///3vXHTRRdhsNnbu3En37t2x2+1Br+vbJExEu6EM48Tpr+jGbd/zfl1fB2Vu\nKHejS91QVgLuYnTpMf/3jV9CeSkApSd3soVBYjJ0S0Elp0K3VFT3HpDSAxVx9v/hwiwG3RxhdHOc\n/rSb1hpPnUlRZT1HPXUc8dRzpML/89aSaj7ddxzzlPSLDreQGh1GakwYabFh9IgJJy02jG4O24lb\nz0Vn8dhjj/HAAw+wePHihgvwwXbzzTezf/9+LrvsMrTWOJ3OhusyrU3pTnibiyyO5ddZbwFtDl1f\nByXHiKmvpnznNjh2BF10GI4chGNH/Hf2neRMgNTeqLTe0KMPqkc6JHX/zkgmEPU+k6OV9Rw6Xsfh\ninoOHq/j4PFaDh6vo7Sm8RRauEXRIzacnnHh9I4Lp3d8OH3iwomJCPzff531uKiqqmr2v8Dby2mu\ntna6vgrJrcFCdBTKFgbJqYQnJGD06PeN32mfD4qPwuF96EP74eA+9ME96M3rwOfznz6LtEPPvqhe\n/VDp50Dfc1BxrtPW1RQ2i0FaTDhpMeHf+Z2n1seB43XsK69lX3kt+8tqWXfIQ+6uxgd2XZFW0p0R\n9HWGk+6MoJ8zokmn54RobRImostSFgt0S/Gf8ho+qmG7rq/3B8y+XbB3B3rPDnTu2+iP3vS/wZmI\n6jcQMgahMgZBclpQbiF2hFsYkBjJgMRvzuZaVuNlT2kte8pq2O2uZWdpDV8e8jScLnNGWunniuAc\nVyQZCRH0c0XIHWaizUmYCPEtymbzj0Z69oUx/mcGdH097NuJ3rUVdn6N3voVfJHnH71Ex6IGDIVz\nh6EGDEUlJge1PXERVoZ3tzK8e1TDtlqvya7SGnaU1LD9xNcXB/w3JBgKesWFMyDBH0wDE+0kOWT0\nIlqXXDPpxDrrufGWCHZfaK2h6DB620bYusF/d9mJi/0kpaAGn4cafB5kDEGFf/eUVmuoqPWxvaSa\nr4ur+fpYNVuLa6g5cWdZot3KoCQ7g7rZGTsglfB6T6d7IFOumTRda1wzkTDpxCRMGrV2X2it/bcs\nby5Eb1oH2zZAXZ3/7rFzh6GGjUANHRHQ9Zbm8pmavWW1bD5WxeaiajYVVVF24iJ/gt3K0GQ7Q7tF\nkdk9irjIjn+SQsKk6SRMmkjCxE/CpFFb94Wur4Ntm9BfFaDXfwElRf5f9MlAnXchKvNCVLfA/udt\ndpu05mBFHbs9Bvk7i9hwtKrhIcw+8eFkdo8iK8XBgMRILEbHG7VImDSdhEkTSZj4SZg0CmVfaK3h\n0H504Wr0utWwd4f/F2l9UCPGoEZcHPTrLN/nZF+YWrO7tJZ1hytZd7iSr49V4TXBEWZwXncHF6Q5\nOD81qsNczG8PYdKjRw8GDBjQ8Pr555+nR48eQSs/WCRMmkjCxE/CpFF76gtdUoReuwq95lPYtdW/\nsU8GatR4f7BEx7Zq/Wfqi6p6H4WHKyk4WMmXBz2U1/qwGorhyXZG94xmZI/odj01THsIk/79+7N9\n+/aglddaJEyaSMLErz39AQ219toXuqQIXfAf9Ocr4cBusFhg0HkYF2XD0Cz/1DRB1pS+8JmarcXV\nrNpfwer9FRRVerEaivNTori4VwwXpDkIt7avtXzaa5icaVr4/Px85syZQ0xMDF9//TVXX301AwYM\nYMmSJdTU1LBkyRJ69+7d5Cnq8/LyePLJJ6mrq6NXr17MnTuXqKio0zVTHloUorNRriTUZdfDZdej\nD+xBr16BXr0C86sC/y3HF05AXTwZlZzWpu2yGIqBSXYGJtm547wktpfUsHLvcT7dW8HnBzxE2QzG\n9IphQnoMAxIi292dYc+tOcru0pqzvk81Ywr6PvER3JnV7Xvfc+oU9D179mTJkiVnnBYeYPPmzaxY\nsYK4uDhGjx7NTTfdxLvvvstzzz3H888/z//+7/8CZ5+iPiUlhb/+9a+89tpr2O12Fi5cyN/+9rc2\nnW1dwkSIdkKl9UZNvR197W2waS3mZznof7+N/mg5nDMEY/zlMHwUKojLzDapXUqRkRBJRkIk0zKT\n2FRURe6uclbsLufDHWWkxYRxWf84JvSJxdHFJ6789hT0cOZp4W02G8OGDaNbN39A9erVqyFkBgwY\nQH5+fkMZZ5ui/vDhw2zbto1rrrkGgPr6es4///xW/7ynkjARop1RFgsMHYFl6Aj08VL0fz5G/+cj\nzGeegFgnasIVqLGXtvq1ldOxGIqhyVEMTY7irhE+PttbwYc7ynjuyyL+XniMsb1juPqceHrHR7R5\n2051thHESW11N9fppoXPz89vmHoe/FPJnzoV/antOtsU9YZhMHbsWBYtWtSKn+L7ta+TnkKIb1Ax\n8RhX3ogx6xmMnz8Cqb3Qy1/C/PUdmC8uQB/eH7K22W0WLukXx5OX9Wbu5b2Z0CeWlXuO84v39vDI\nv/ex5qBHlkumcVr4+vp6AHbu3ElVVVVQ6zj//PMpKChg927/6pJVVVXs3LkzqHWcjYxMhOgAlGGB\nYSOwDBuBPrQPnfsOelUu+tOPYdgFGJdeB/3ODdm1i3RnBNNHJnPb8EQ+3FHGu1tL+eOKA/SJD+eG\nQS5G9YjukM+uBENbTAvvcrmYO3cuP/vZz6ir8y+7/etf/5q+ffsGtZ7vI3dzdWLt9Q6mUOiMfaEr\njqM/eRf9yTv+lSr7DcS48kYYlPm9odIWfVHv0/xn73GWbSrh4PE60mLCuHGwi4t7x7TaOi3t4W6u\njkJuDW4iCRO/zvgHtKU6c1/o2lr0px+jP3wDSouhd3+Mq34IQ0c0ewnjYPOZmlX7K/jnxhL2lNXS\nJz6cW4clcn7K6ZdXDoSESdNJmDSRhIlfZ/4D2lxdoS+0tx696hP0+8v8C3/1ycD4wc3fGamEoi9M\nrfl0bwUvrz/GEU89AxMj+a+sbqQ7g3ehXsKk6SRMmkjCxK8r/AFtqq7UF9rn819Peec1/5xg/QZi\nXP9j/xoshLYvvKbm4x1lvPJVMcdrfVzSL5ZbhyUSG4QVJCsrK8/4kN6ZdNUwOV1fSZichoSJX1f6\nA3o2XbEvtLfef/rrndf80+MPH4Vx3Y9JHDI85H3hqfPx6oZi3ttaSoTV4MeZiUzuFxfQ9ZTq6mps\nNhvWZjyH0xXDxOv1Ul9fT2TkNxdhkzA5DQkTv674B/RMunJf6Noa9Mdv+a+p1NUSeem11E6+FuWI\nCXXT2F9eyzMFR9lwtIqBiZH8bGQyabEtW/9Fa01NTQ2maTb5ekx4eDi1tbUtqq8j0lpjGAYRERHf\n6SMJk9OQMPHryn9Av036AvTxMvTbr6JXfgCRUahrbkaNvcz/kGQo26U1/95VztK1RdR4NTcNTeDa\nc51tciuxHBeNJExOQ8LET/5HaSR90Si2shz3//cEbN0Aqb0wbr234XpKKJVVe3lmzVHy91UwMDGS\nGaO7080RdvYdAyDHRaNAw0SegBeii7H16ovx349h3DsTqisx/zwT8+9Poz3HQ9quuEgrvx6TwgOj\nu7OnrJZfvLuHT3aVh7RNoukkTITogpRSqPNGY/xhIWrytejPcjAfmY75eV5Ip0BRSjG+TyzzruhN\nn/hw5q06zNOrD1PnM0PWJtE0EiZCdGEqIhLjhmkYj8yFxGT0c3MwF81Cl7lD2q5ujjAey+7J1EEu\nPt5ZzsyP9nLUUxfSNonvJ2EihECl9cH4nz+jpk6DTeswf/9zzM/zQtomi6G4bXgivxmXypGKeh54\nfw+FhytD2iZxZhImQgjAP/W9cem1GL/7K3RP849Snn0SXeUJabsuSItmzuW9SYi08YdP9vPh9rKQ\ntkecXkCPnb7zzjvk5uailKJHjx5Mnz6dsrIy5s2bR0VFBenp6dx3331YrVbq6+t5+umn2bVrF9HR\n0cyYMYOkpCQA3nzzTXJzczEMg2nTpjF8+HAACgsLWbp0KaZpMmnSJKZMmRL4JxZCfC+VnIrxqz+h\nP/gX+u1X0Ds2Y9zxAOqcISFrU/foMGZf2pMnPz3Eoi+OcKiijh8PT+yyMxG3Ry0embjdbt5//31m\nz57NnDlzME2T/Px8XnrpJa688koWLFhAVFQUubm5AOTm5hIVFcWCBQu48sorefnllwE4cOAA+fn5\nPPXUU/zmN79hyZIlmKaJaZosWbKEhx9+mLlz5/LZZ59x4MCB4HxqIcT3UhaLfx2V/3kCbOGYcx7B\nfOdVtBm6C+F2m4XfjEvjiow4lm9x8+Rnh6iXC/PtRkCnuUzTpK6uDp/PR11dHXFxcWzatIlRo0YB\nMH78eAoKCgBYs2ZNw0pjo0aNYuPGjWitKSgoYPTo0dhsNpKSkkhOTmbHjh3s2LGD5ORkunXrhtVq\nZfTo0Q1lCSHahurTH+O3T6EuuBj91v9h/vUP6IrQ3a5rMRR3j0jmjvOSyN9XweN5B6n1SqC0By0O\nE6fTydVXX829997LXXfdhd1uJz09HbvdjuXEE7VOpxO3239XiNvtxuVyAWCxWLDb7VRUVHxj+6n7\nfHu7y+VqKEsI0XZURCTqpw+ibvsZbNuI+b+/QO/8OqRtuuZcJ/eNSmb9kUoezd1PZZ0vpO0RAVwz\n8Xg8FBQUsHDhQux2O0899RSFhYXBbFuT5eTkkJOTA8Ds2bNJSEgISTvaG6vVKn1xgvRFoxb3xXW3\nUJ85gvI/P4zvyd8Qc8+viJx0VfAb2EQ/SkggyRnHHz7Yyh/yDjHv2iHENHP2YTkugqfFYbJhwwaS\nkpKIifFPFjdy5Ei2bt1KVVUVPp8Pi8WC2+3G6XQC/hFHSUkJLpcLn89HVVUV0dHRDdtPOnWfU7eX\nlJQ0bP+27OxssrOzG17L9Ah+MlVEI+mLRgH1RbQTPfMJ+NtfOP70LCq2bEBNnYZqxky9wTQ0Hh4a\nm8qfVh7kF8sK+cOkHthtTZ9rTI6LRiGbTiUhIYHt27dTW1uL1poNGzaQlpbGoEGDWL16NQArVqwg\nKysL8C94v2LFCgBWr17NoEGDUEqRlZVFfn4+9fX1FBUVcfjwYfr160ffvn05fPgwRUVFeL1e8vPz\nG8oSQoSOcsRg/OJRVPYP0P9+G3PBH9HVVSFrT1aqg1+PSWGHu4bHVxyQayghEtBEj6+//jr5+flY\nLBZ69+7NPffcg9vtZt68eXg8Hvr06cN9992HzWajrq6Op59+mt27d+NwOJgxYwbdunUD4I033uCT\nTz7BMAxuv/12MjMzAVi7di0vvvgipmkyYcIErrvuuia1SyZ69JN/dTWSvmgUzL4w//MR+qVFkNIT\n477foZyhO2W0cs9xnvrsEMO7R/GbcanYLGf/t7IcF41k1uDTkDDxk/9RGklfNAp2X+hN6zAXz4aI\nSH+g9EwPWtnNlbOzjAWrjzC2dwwPju5+1nVN5LhoJLMGCyFCSg3KxPif2YDC/MtD6G0bQ9aW7L5x\n3DYskZV7jvN/X0lItCUJEyFEwFRaH4yH/gJxLsx5j6K/Ct0zYdcPcpLdN5bXN5aQs1OmXmkrEiZC\niKBQzgSMX8+GlJ6Yi2aFbKJIpRT3XpDM8GQ7iz4/wvojMjlkW5AwEUIEjYqOwfjvx6DvueglT2H+\n56OQtMNqKH59cSqpMWE88Z+DMn19G5AwEUIElYq0Y/zi9zAoE/33p0MWKFFhFh4el4bW8Of/HJIF\ntlqZhIkQIuhUWDjG9Idh8Pn+QFn5QUja0T06jF+M7s5Odw1/KzgakjZ0FRImQohWoWxh/kAZkoX+\nxyLMlR+GpB0j06IbVmz8eIdckG8tEiZCiFajbDaMex/yj1BeWhSyi/I3D01gWLKdZwqOsqe0JiRt\n6OwkTIQQrcofKDOh/yD00nno9V+0eRsshuLBi1Kwhxk8lX9Yrp+0AgkTIUSrU2HhGD//LfRIx1z8\nZ/SW9W3ehrgIK/eP6s7eslpeXi8PNAabhIkQok003OXVLQVz4Sz0vp1t3oasVAeX9/ev1CjPnwSX\nhIkQos0oRwzGjEchyoE5/3/RxW1/h9W085JIjQnjr/mHOV5T3+b1d1YSJkKINqXiXP4RSn2dfxng\nyoo2rT/cavDg6BTKarwsWLm7TevuzCRMhBBtTqX0xPjZb6D4CObTj6Hr2/YJ9X6uCK4d6OK9LUVy\nuitIJEyEECGhMgaj7ngQdmxBv7CAtl4N48bBLtJiI1j0+RFZUCsIJEyEECFjjBiDmnIr+os89Hv/\nbNO6w60Gv57UjyOeel7bIHd3BUrCRAgRUuqKG1AXjEMvfwm9dlWb1n1+jzgmpcfy5hY3u+VhxoBI\nmAghQkophfrJz6FPBuaSp9D7drVp/dPOSyI6zMKiz49gdr6FZ9uMhIkQIuQaJoaMisZcNAvtOd5m\ndUeHW/hJZiLbSmpYuaft6u1sJEyEEO2CinP6p10pd2M+Owdt+tqs7gnpsfRzRvDiumNU18vF+JaQ\nMBFCtBuqTwbqprth8zr0W6+0Wb2GUtyZlYS72ssbm0varN7ORMJECNGuGGMvRY25BP3e6+jC1W1W\n77mJdsb2imH5FjdFHnkyvrkkTIQQ7Y66+W7o1Q/z+XnoY0farN4fZyYC8MK6ojars7OQMBFCtDvK\nFoZxz/+AUpjPPIH2ts1IITHKxnUDnXy2r4KtxdVtUmdnIWEihGiXVEI3jNt/AXt3oP/1YpvVO+Vc\nF7HhFl5af6zN6uwMJEyEEO2WyhyFmnQ1Ouf/oQs/b5M6I20GNwx28dWRKpm3qxkkTIQQ7Zq6/nbo\n2Rdz6V/RJW0zWri0fxwuu5WXCo+1+ZxhHZWEiRCiXVM2G8bdvwLTh/n8U23y/EmYxeBHQxLYVlJD\nwUFPq9fXGUiYCCHaPZWUgrrpLti2Cf3hm21S58T0WFKibby8vlimWWkCCRMhRIegLpyIOv8i9Fsv\no/e2/pK/VkNx09BE9pTV8unetl3AqyOSMBFCdAhKKdRt0yE6DvO5J9G1ta1e55he0fSIDWPZxhIZ\nnZyFNZCdKysrWbx4Mfv370cpxb333ktKSgpz587l2LFjJCYm8sADD+BwONBas3TpUtatW0d4eDjT\np08nPT0dgBUrVvDGG28AcN111zF+/HgAdu3axcKFC6mrqyMzM5Np06ahlArsEwshOiwVFY1xxwzM\npx5BL1uKuuWeVq3PUIqpg1zMzT/MmoMeLkiLbtX6OrKARiZLly5l+PDhzJs3j7/85S+kpqayfPly\nhgwZwvz58xkyZAjLly8HYN26dRw5coT58+dz11138dxzzwHg8XhYtmwZs2bNYtasWSxbtgyPx3/B\n69lnn+Xuu+9m/vz5HDlyhMLCwgA/rhCio1PnDkNlX4Ne8R56y/pWr+/iXjEkRdn458YSubPre7Q4\nTKqqqtidR9ygAAAgAElEQVSyZQsTJ04EwGq1EhUVRUFBAePGjQNg3LhxFBQUALBmzRrGjh2LUoqM\njAwqKyspLS2lsLCQoUOH4nA4cDgcDB06lMLCQkpLS6muriYjIwOlFGPHjm0oSwjRtalrb4VuqZgv\nzEdXV7VqXRZDcd1AJ9tKathwtHXr6shafJqrqKiImJgYFi1axN69e0lPT+f222+nvLyc+Ph4AOLi\n4igvLwfA7XaTkJDQsL/L5cLtduN2u3G5XA3bnU7nabeffP/p5OTkkJOTA8Ds2bO/UU9XZrVapS9O\nkL5o1Fn6om7G7yj9zb2Ev/MKMff+T4vKaGpf3Bjn5J+b3Ly1rYKJg3u1qK7OrsVh4vP52L17N3fc\ncQf9+/dn6dKlDae0TlJKtck1juzsbLKzsxteFxfLes4ACQkJ0hcnSF806jR9kdAddck1VH/4JrUD\nz0MNymx+Ec3oi6vPieOFdcfI/3o/GQmRza6rvUtJSQlo/xaf5nK5XLhcLvr37w/AqFGj2L17N7Gx\nsZSWlgJQWlpKTEwM4B9xnPofraSkBKfTidPppKSkcf0At9t92u0n3y+EECepa26B5DTMvy9o9dNd\nl/aPwxFmsGyTrHdyOi0Ok7i4OFwuF4cOHQJgw4YNpKWlkZWVRV5eHgB5eXmMGDECgKysLFauXInW\nmm3btmG324mPj2f48OGsX78ej8eDx+Nh/fr1DB8+nPj4eCIjI9m2bRtaa1auXElWVlYQPrIQorNQ\ntjCMab+A0hL0m39v1brsNgtXZMTzxQEPhyvqWrWujiigW4PvuOMO5s+fj9frJSkpienTp6O1Zu7c\nueTm5jbcGgyQmZnJ2rVruf/++wkLC2P69OkAOBwOrr/+eh566CEApk6disPhAODOO+9k0aJF1NXV\nMXz4cDIzmz+MFUJ0bir9HNTEq9C576AvGIvqN7DV6ro8I543Npfw9tZS7srq1mr1dERKd8J73U6O\nlrq6TnNuPAikLxp1xr7QNdWYv/85hEdgPDIPZbM1ab+W9MXc/EOs3l/Bkmv74QiztKS57VLIrpkI\nIUR7oSIiMW6dDof3o9//Z6vW9YMBTmq8mpydZa1aT0cjYSKE6BTUkPNRF4xDv7cMfXBfq9XT1xnB\noKRI3t1ais/sdCd2WkzCRAjRaagf3QkRkZgvL2rVp9V/MMBJUaWX1QdkAsiTJEyEEJ2Gio5FXfdj\n2L4ZvSq31eoZkeog2WHj7a9LW62OjkbCRAjRqagxl0DfAeh/LkVXts7IwWIorjonni3HqtlRUtMq\ndXQ0EiZCiE5FGQbGLfdCpQf9xj9arZ6J6bGEWxTvb5fRCUiYCCE6IdWjD2rSVej/fIjetbVV6ogK\nszCuTwwr9xzHU9f6Swm3dxImQohOSV1zM8TGY768uNXWjb+8fzx1Ps0nu8pbpfyORMJECNEpqQg7\nauo02LcT/WlOq9SR7owgwxXBB9vLuvxaJxImQohOS10wFvoNRL/5D3Slp1XquDwjngPH67r8WicS\nJkKITksphXHTXf6L8W+/0ip1jOkVTXSYwQfbu/YT8RImQohOTfVMR42djP7kXfTBvUEvP8xiMKlv\nHKv3V+Cu9ga9/I5CwkQI0empa26FCDvmq8+2yrWNy/rH4dOQs6Prjk4kTIQQnZ6KjkFNuQW+/grW\nfx708rtHhzE02c7HO8sxu+iFeAkTIUSXoMZe5l+V8Z8voL31QS//kr5xFFXW89WRrnkhXsJECNEl\nKIsF44ZpUHQInfdB0Msf1cNBdJjRZaemlzARQnQdQ7Lg3GHot18N+q3CYRaDcX1iWbXfw/HarvdE\nvISJEKLLUEph3HAHVHnQ774W9PIv6RuL19Tk7e56T8RLmAghuhTVow9q9CR07rt4Dx8Iatm94yPo\n74rg4x3lXe6JeAkTIUSXo6bcChYLnv97JuhlT+4Xx97yWrZ1sanpJUyEEF2OinOiLrmG2k//jd67\nI6hlj+kVTYRVdbkL8RImQoguSV16HSo6FvNfLwa1XLvNwkU9Y1i5p4IarxnUstszCRMhRJekIu1E\nTf0JbFmP3lwY1LIn9Y2lxmuyal/XWSNewkQI0WXZL7sWnImYb/wdbQZvFDEwMZJkh41/d6F1TiRM\nhBBdlgoLR11zC+zdgf7ys+CVqxST0mPZcLSKo566oJXbnkmYCCG6NDVqHKT2Qi9/Ge0L3sOGE9Jj\nUcAnu44Hrcz2TMJECNGlKcOCMeUW/zQrqz8JWrmJUTaGJtvJ3d01Jn+UMBFCiGEjoVc//zQrQZwE\ncmJ6LEc99Wwq6vyTP0qYCCG6PKUUxpRboaQI/enHQSv3wh7R2G0G/97Z+S/ES5gIIQTAoEz/evHv\nvo6uqw1KkeFWgzG9osnfV0FVfeee/NEaaAGmaTJz5kycTiczZ86kqKiIefPmUVFRQXp6Ovfddx9W\nq5X6+nqefvppdu3aRXR0NDNmzCApKQmAN998k9zcXAzDYNq0aQwfPhyAwsJCli5dimmaTJo0iSlT\npgTaXCGEOK2ToxPzyYfReR+gLrkmKOVOTI/lox3l5O+rILtvXFDKbI8CHpm89957pKamNrx+6aWX\nuPLKK1mwYAFRUVHk5uYCkJubS1RUFAsWLODKK6/k5ZdfBuDAgQPk5+fz1FNP8Zvf/IYlS5Zgmiam\nabJkyRIefvhh5s6dy2effcaBA8GdlE0IIU6lzhnsn6L+/WXomuqglDkgIZKUaBufdPJnTgIKk5KS\nEtauXcukSZMA0FqzadMmRo0aBcD48eMpKCgAYM2aNYwfPx6AUaNGsXHjRrTWFBQUMHr0aGw2G0lJ\nSSQnJ7Njxw527NhBcnIy3bp1w2q1Mnr06IayhBCitRjX3AIV5egV7wWlPKUUE9Jj2VhU3amfOQko\nTF544QVuvfVWlFIAVFRUYLfbsVgsADidTtxuNwButxuXywWAxWLBbrdTUVHxje2n7vPt7S6Xq6Es\nIYRoLarvABiYif7wTXRtcGb+ndCn8z9z0uJrJl9++SWxsbGkp6ezadOmYLap2XJycsjJyQFg9uzZ\nJCQkhLQ97YXVapW+OEH6opH0RaMz9UXdbfdQ+tDd2L/II+raWwKuJyEBzksrJm+fh59NOKfhH+Cd\nSYvDZOvWraxZs4Z169ZRV1dHdXU1L7zwAlVVVfh8PiwWC263G6fTCfhHHCUlJbhcLnw+H1VVVURH\nRzdsP+nUfU7dXlJS0rD927Kzs8nOzm54XVxc3NKP1akkJCRIX5wgfdFI+qLRGfsioTsMHI7nzZeo\numAcKjwi4LrG9LDz11XlrNyyn0FJ9oDLC7aUlJSA9m/xaa6bb76ZxYsXs3DhQmbMmMHgwYO5//77\nGTRoEKtXrwZgxYoVZGVlAXD++eezYsUKAFavXs2gQYNQSpGVlUV+fj719fUUFRVx+PBh+vXrR9++\nfTl8+DBFRUV4vV7y8/MbyhJCiNZmXP2jE9dO3g9KeaN7RhNhNcjtpBfiA741+NtuueUW5s2bx6uv\nvkqfPn2YOHEiABMnTuTpp5/mvvvuw+FwMGPGDAB69OjBhRdeyIMPPohhGPz0pz/FMPwZd8cdd/D4\n449jmiYTJkygR48ewW6uEEKcluo30H9n14dvoMdfHvDoJMJqMLpnNJ/treCurG6EWzvXY35Kd8KF\nig8dOhTqJrQLcjqjkfRFI+mLRmfrC719M+YTM1E3TMOYfG3A9W04Wslvc/bzwOjujO8TG3B5wRSy\n01xCCNHZqf4DYcBQ9EfLg/JU/KAkO0lRtk55qkvCRAghvodx5Y1QXhqUObsMpZiYHsNXR6o4Vhm8\nCSXbAwkTIYT4PucMgX7noj94A10feABMTI9FQ6d7Il7CRAghvodSCuPKH0JpMXpVbsDldXOEMbib\nnX/vKqczXbKWMBFCiLMZlAm9+/vn7PJ6Ay5uUnosRzz1bDkWnPm/2gMJEyGEOAulFMZVP4Tio+gv\n8gIu7+QzJ//uRKe6JEyEEKIpho6AHn3Q7y1Dm4GtTRJxYp2TT/dWUOM1g9TA0JIwEUKIJmi4dnL0\nIPrL/IDLm5geS43XZNW+iiC0LvQkTIQQoqkyR0H3Hv7VGM3ARhQDEyNJdtg6zakuCRMhhGgiZRio\nK26Ag3vhqy8CK0spJvWNZcPRKo5UdPx1TiRMhBCiGdSIiyExGfOd1wO+tXdSeiyGgpydHX90ImEi\nhBDNoCwW1OVTYe8O2LQuoLJcdhvndY/i37vK8Zkd+5kTCRMhhGgmdeEEcCZgvvtawKOTS/rF4a72\nsvZQZZBaFxoSJkII0UzKakNddj3s2ALbNgZUVlaqg7gICx/vLAtS60JDwkQIIVpAXZQNsfGY77wW\nUDlWQzExPZaCgx5KqwN/uj5UJEyEEKIFVFg4avK18PVX6B1bAiprUt9YTE2HnppewkQIIVpIjbsM\nHDGY7wY2OkmLCWdgYiQ5O8s67OSPEiZCCNFCKjwCNXkKbFyL3r09oLIu6RfHoYp6NhZVBal1bUvC\nRAghAqAmXAF2R8Cjk4t6RhMVZvDB9o55IV7CRAghAqAi7KjsH8D6L9D7d7e4nHCrwcT0WFbvr6Cs\nA16IlzARQogAqUlXQaQ94Du7LusXh9fsmE/ES5gIIUSAlN2BmnQ1rM1HH9jT4nLSYsMZ0s3OhztK\nO9wT8RImQggRBCr7BydGJ68GVM7l/eMoqvSy7nDHeiJewkQIIYJARUWjJl4FX+ajD+5tcTkXpEUT\nF2Hhg+2lQWxd65MwEUKIIFGXXAMRkei3Wz46sVkUl/SNY83BSoo89UFsXeuSMBFCiCBRUdGoSVej\nv/wsoNHJpf3jUAo+3NFxbhOWMBFCiCAKxugkMcrGiFQHH+0oo7aDrBEvYSKEEEH0jdFJAM+dXD0g\nnuO1PlbuOR7E1rUeCRMhhAgyNXkK2KMw33q5xWUMTrLTJz6ct78u7RDzdUmYCCFEkCm7wz+j8Pov\n0Lu2tqwMpbjqnHj2ltey4Wj7n69LwkQIIVqBmnSVf0bhAEYnY3vHEBtu4f993f5vE7a2dMfi4mIW\nLlxIWVkZSimys7O54oor8Hg8zJ07l2PHjpGYmMgDDzyAw+FAa83SpUtZt24d4eHhTJ8+nfT0dABW\nrFjBG2+8AcB1113H+PHjAdi1axcLFy6krq6OzMxMpk2bhlIq8E8thBCtTEXYUZdPRf/zefTWjahz\nBje7jDCLwWUZcby+oYTDFXV0jw5rhZYGR4tHJhaLhdtuu425c+fy+OOP8+GHH3LgwAGWL1/OkCFD\nmD9/PkOGDGH58uUArFu3jiNHjjB//nzuuusunnvuOQA8Hg/Lli1j1qxZzJo1i2XLluHxeAB49tln\nufvuu5k/fz5HjhyhsLAwCB9ZCCHahhp/OcQ5MZe/1OLrHpf3j8diwDtb2/fopMVhEh8f3zCyiIyM\nJDU1FbfbTUFBAePGjQNg3LhxFBQUALBmzRrGjh2LUoqMjAwqKyspLS2lsLCQoUOH4nA4cDgcDB06\nlMLCQkpLS6muriYjIwOlFGPHjm0oSwghOgIVFo668kbYsRk2rGlRGfGRVi7uFUPOznI8tb4gtzB4\nWnya61RFRUXs3r2bfv36UV5eTnx8PABxcXGUl/tnv3S73SQkJDTs43K5cLvduN1uXC5Xw3an03na\n7Sfffzo5OTnk5OQAMHv27G/U05VZrVbpixOkLxpJXzRqi77Q19xESe47sPwlXOMmoyyWZpcxbXQk\nn7y8jk8O1DJtZM9WaGXgAg6Tmpoa5syZw+23347dbv/G75RSbXKNIzs7m+zs7IbXxcXFrV5nR5CQ\nkCB9cYL0RSPpi0Zt1Rf6mlswF/+ZY2+/jjHmkmbvHwuMSI3itXUHuaRXBBHW4N87lZKSEtD+AbXI\n6/UyZ84cLr74YkaOHAlAbGwspaX+c3ulpaXExMQA/hHHqf/RSkpKcDqdOJ1OSkpKGra73e7Tbj/5\nfiGE6HDOGw19MtBvvYyurW1REdcPclFR6+PjdjrFSovDRGvN4sWLSU1N5aqrrmrYnpWVRV5eHgB5\neXmMGDGiYfvKlSvRWrNt2zbsdjvx8fEMHz6c9evX4/F48Hg8rF+/nuHDhxMfH09kZCTbtm1Da83K\nlSvJysoK8OMKIUTbU0phTJ0GZW50zlstKuPcRDuDkiJ5c4ubel/7e4ixxae5tm7dysqVK+nZsye/\n+tWvALjpppuYMmUKc+fOJTc3t+HWYIDMzEzWrl3L/fffT1hYGNOnTwfA4XBw/fXX89BDDwEwdepU\nHA4HAHfeeSeLFi2irq6O4cOHk5mZGdCHFUKIUFEZg2D4SPQH/0KPvRQVHdvsMqYOcvGHTw6Qt6ec\n7L5xrdDKllO6Izyn30yHDh0KdRPaBTk33kj6opH0RaO27gt9+ADmoz9Hjb0U45Z7m7+/1jz4/h5q\nfZoFV/bBYgTvmnRIr5kIIYRoOtU9DTXucnTehy2aBFIpxfWDXBw8Xseq/RWt0MKWkzARQog2pK65\nBaIcmK8806IHGS/sEU2v2HD+76vidrVOvISJEEK0IRXlQF17G2zfjP5iZbP3txiKm4clcPB4HZ/s\nLm+FFraMhIkQQrQxNSYbevVDL1uKrqlu9v4j0xz0d0Xw6lfF1Pvax+JZEiZCCNHGlGHBuOku/63C\n773e/P2V4tZhiRyr8vLRjvYxOpEwEUKIEFB9B6BGT0J/9Bb6wJ5m7z8s2c7gbnZe31hMTTtY2lfC\nRAghQkRNneZfkfHFBWizeZM4+kcnCZTV+Hj769PPW9iWJEyEECJEVHQM6qa7YM92dM7bzd7/3EQ7\nI9McLNvkpqSqvhVa2HQSJkIIEUIqawwMuwD91kvoosPN3v+O85LwmZoX1x1rhdY1nYSJEEKEkFLK\n/zS8xYr596eb/exJcnQY1w50krfnOJuKQrdWvISJEEKEmIp3+a+fbN2Azn2n2ftPHeQiwW7lbwVH\nQ/Ygo4SJEEK0A+riyTB0hP/Zk327mrVvuNXgjvOT2FNWywfbQzNFvYSJEEK0A0opjNt/AY4YzGf/\ngq6tadb+o3tEM7SbnZe/OhaSi/ESJkII0U6o6BiMnz4IRw+hX/lb8/ZVinsuSKbep3l69ZEWzfsV\nCAkTIYRoR9SAoajLb0B/loP5eV6z9k2NCeP2zCTWHq5s8yfjJUyEEKKdUT+4CfoNRL+4AL17e7P2\nvTwjjqHJdp5fe5QjFXWt1MLvkjARQoh2RlksGPfOhJg4zIWPo0tLmryvoRT3j+qOoRR/XXW4ze7u\nkjARQoh2SMXEYfz8t1BT7Q+U2tom75sYZeO/srqx+Vg1r25om5UkJUyEEKKdUmm9Mf7rl7BvJ+bz\nc5s1f9eEPjFMSo/l9Y0l5O873oqt9JMwEUKIdkwNG4G64Q5Ym49+YX6TA0Upxb0XdOOchEjm5R9m\nd2nzbjVuLgkTIYRo54xLrkFdczN61SfofyxCm02bct5mMXhobCqOMAuz8g5QXuNtvTa2WslCCCGC\nxrjqR6irfoj+9GP0/y1u8nMk8ZFWHhqXSlmNj8dWHKCyrnlT3Te5fa1SqhBCiKBTP7gZddn16LwP\n0M/NQdc37dbf/q5IfnlRCjvdNTyau79VAkXCRAghOgilFOq6H6Ou+zH6i5WYc36LPt60ubhG9ojm\nfy5OZVdpDb/P3Y8nyIEiYSKEEB2IUgrj8qkY98yE/bswZ/2yycv+juwRza8vTmV3aQ2///f+oM7h\nJWEihBAdkDp/NMYv/wTeeszH/xvzo+VNujA/Mi2amRenceB4LQ++vydoa6BImAghRAel+vTH+N1f\nYfB56H8+7z/tVXz0rPuNSHPwl0t7Y7cZPJKzLyhryEuYCCFEB6Zi4jCmP4y6/Rf+hxt//3PM5S+h\nq79/xNEzLpwnL+tNVqqD574sCrgd1oBLEEIIEVJKKdRFk9ADhqD/9SL63dfReR+grvoh6uLJqLDw\n0+4XFWZh5thU3t8W+IJaSrf1pPdt4NChQ6FuQruQkJBAcXHbzMvT3klfNJK+aNRZ+0Lv2Y75rxfh\n66/A7kBdNAk17nJUt5Qz7pOScubfNUW7H5kUFhaydOlSTNNk0qRJTJkyJdRNEkKIdk317o/x4B9h\n2yb0ivfQue+gP34L+g1EDR+JGnYBKjk1qHW26zAxTZMlS5bw29/+FpfLxUMPPURWVhZpaWmhbpoQ\nQrRrSik4ZzDqnMHoMrf/yfm1+f415pcthaTuqL4DIP0cVJ9zoDOPTHbs2EFycjLdunUDYPTo0RQU\nFEiYCCFEM6g4J+qqH8JVP0SXFKHXf4HeXIjeuBZWfYIGeHdNQHW06zBxu924XK6G1y6Xi+3bm7fq\nmBBCiEbKlYSaeBVMvMo/v1fxUfSewP+utuswaaqcnBxycnIAmD17NgkJCSFuUftgtVqlL06Qvmgk\nfdFI+gJITIRzBwdcTLsOE6fTSUlJ43KVJSUlOJ3O77wvOzub7Ozshted8e6Mluisd6q0hPRFI+mL\nRtIXjQK9m6tdP7TYt29fDh8+TFFREV6vl/z8fLKyskLdLCGEEN/SrkcmFouFO+64g8cffxzTNJkw\nYQI9evQIdbOEEEJ8S7sOE4DzzjuP8847L9TNEEII8T3a9WkuIYQQHYOEiRBCiIBJmAghhAiYhIkQ\nQoiASZgIIYQIWKecgl4IIUTb6nQjk5kzZ4a6Ce2G9EUj6YtG0heNpC8aBdoXnS5MhBBCtD0JEyGE\nEAGzPProo4+GuhHBlp6eHuomtBvSF42kLxpJXzSSvmgUSF/IBXghhBABk9NcQgghAtbuJ3psqsLC\nQpYuXYppmkyaNIkpU6aEukltpri4mIULF1JWVoZSiuzsbK644go8Hg9z587l2LFjJCYm8sADD+Bw\nOELd3DZhmiYzZ87E6XQyc+ZMioqKmDdvHhUVFaSnp3PfffdhtXaaw/+MKisrWbx4Mfv370cpxb33\n3ktKSkqXPC7eeecdcnNzUUrRo0cPpk+fTllZWZc4LhYtWsTatWuJjY1lzpw5AGf8+6C1ZunSpaxb\nt47w8HCmT5/etNNfuhPw+Xz65z//uT5y5Iiur6/Xv/zlL/X+/ftD3aw243a79c6dO7XWWldVVen7\n779f79+/X//jH//Qb775ptZa6zfffFP/4x//CGUz29Tbb7+t582bp//0pz9prbWeM2eO/vTTT7XW\nWj/zzDP6ww8/DGXz2syCBQt0Tk6O1lrr+vp67fF4uuRxUVJSoqdPn65ra2u11v7j4ZNPPukyx8Wm\nTZv0zp079YMPPtiw7UzHwZdffqkff/xxbZqm3rp1q37ooYeaVEenOM21Y8cOkpOT6datG1arldGj\nR1NQUBDqZrWZ+Pj4hn85REZGkpqaitvtpqCggHHjxgEwbty4LtMnJSUlrF27lkmTJgGgtWbTpk2M\nGjUKgPHjx3eJvqiqqmLLli1MnDgR8C9RGxUV1WWPC9M0qaurw+fzUVdXR1xcXJc5LgYOHPid0eeZ\njoM1a9YwduxYlFJkZGRQWVlJaWnpWevoFOM5t9uNy+VqeO1yudi+fXsIWxQ6RUVF7N69m379+lFe\nXk58fDwAcXFxlJeXh7h1beOFF17g1ltvpbq6GoCKigrsdjsWiwXwLwftdrtD2cQ2UVRURExMDIsW\nLWLv3r2kp6dz++23d8njwul0cvXVV3PvvfcSFhbGsGHDSE9P75LHxUlnOg7cbjcJCQkN73O5XLjd\n7ob3nkmnGJkIv5qaGubMmcPtt9+O3W7/xu+UUiilQtSytvPll18SGxsrt3sCPp+P3bt3M3nyZJ54\n4gnCw8NZvnz5N97TVY4Lj8dDQUEBCxcu5JlnnqGmpobCwsJQN6vdCMZx0ClGJk6nk5KSkobXJSUl\nOJ3OELao7Xm9XubMmcPFF1/MyJEjAYiNjaW0tJT4+HhKS0uJiYkJcStb39atW1mzZg3r1q2jrq6O\n6upqXnjhBaqqqvD5fFgsFtxud5c4PlwuFy6Xi/79+wMwatQoli9f3iWPiw0bNpCUlNTwWUeOHMnW\nrVu75HFx0pmOA6fTSXFxccP7mvr3tFOMTPr27cvhw4cpKirC6/WSn59PVlZWqJvVZrTWLF68mNTU\nVK666qqG7VlZWeTl5QGQl5fHiBEjQtXENnPzzTezePFiFi5cyIwZMxg8eDD3338/gwYNYvXq1QCs\nWLGiSxwfcXFxuFwuDh06BPj/oKalpXXJ4yIhIYHt27dTW1uL1rqhL7ricXHSmY6DrKwsVq5cidaa\nbdu2Ybfbz3qKCzrRQ4tr167lxRdfxDRNJkyYwHXXXRfqJrWZr7/+mt/97nf07NmzYah600030b9/\nf+bOnUtxcXGXugX0pE2bNvH2228zc+ZMjh49yrx58/B4PPTp04f77rsPm80W6ia2uj179rB48WK8\nXi9JSUlMnz4drXWXPC5ef/118vPzsVgs9O7dm3vuuQe3290ljot58+axefNmKioqiI2N5cYbb2TE\niBGnPQ601ixZsoT169cTFhbG9OnT6du371nr6DRhIoQQInQ6xWkuIYQQoSVhIoQQImASJkIIIQIm\nYSKEECJgEiZCCCECJmEihBAiYBImQgTJo48+yrRp06ivrw91U4RocxImQgRBUVERW7ZsAfyzrgrR\n1XSKubmECLWVK1eSkZFBv379yMvL48ILLwT8MxYvXLiQLVu2kJKSwrBhw9i0aRN//OMfATh48CDP\nP/88u3btIiYmhh/+8IeMHj06lB9FiBaRkYkQQZCXl8eYMWO4+OKLWb9+PWVlZQAsWbKEiIgI/va3\nv/Gzn/2sYS4k8M/y/NhjjzFmzBiee+45ZsyYwZIlSzhw4ECoPoYQLSZhIkSAvv76a4qLi7nwwgtJ\nT0+nW7dufPrpp5imyeeff86NN95IeHg4aWlpDYsRgX8+ucTERCZMmIDFYqFPnz6MHDmSVatWhfDT\nCNEycppLiACtWLGCoUOHNkzhPWbMmIaRis/n+87CbScdO3aM7du3c/vttzds8/l8jB07ts3aLkSw\nSI9dUUoAAAFmSURBVJgIEYC6ujpWrfr/27tjFIWhKArDB7XQSiFW4gpshTSprGzchRgtXIIuQURw\nCWqTRUgiYcA1WGiRLmIatRGdYiDDlDNPJ4X/B+nvKx6HvFucD93vd/V6PUlf3TLn81lJkiifz+t4\nPKpWq0nSj94dy7LUaDQ0Ho8zmR14JsIEMLDdbpXL5TSZTFQofF+n6XSqIAhk27Y8z9NgMFAcx/J9\nP61EbTabWq1WCoIgXbrv93sVi0XV6/VMzgP8FTsTwIDv+2q1WqpWq6pUKunXbre12WzU7XZ1uVzk\nuq7m87kcx0n7MkqlkkajkcIwVL/fl+u6Wi6Xut1uGZ8K+D36TIB/tFgslCSJhsNh1qMAT8WfCfBC\nURTpcDjo8Xhot9tpvV7Ltu2sxwKejp0J8ELX61Wz2Uyn00nlclmdTuctOtfxfnjmAgAY45kLAGCM\nMAEAGCNMAADGCBMAgDHCBABgjDABABj7BMnHjtWO8wFrAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "metadata": {}, "output_type": "display_data"}], "source": ["df.plot(x=\"Age\",y=[\"Homme\", \"Femme\"],xlim=[0,100])"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Taux de f\u00e9condit\u00e9 (France)\n", "\n", "On proc\u00e8de de m\u00eame pour cette table avec la fonction [fecondite_france](http://www.xavierdupre.fr/app/actuariat_python/helpsphinx/actuariat_python/data/population.html#actuariat_python.data.population.fecondite_france). Source : [INSEE : F\u00e9condit\u00e9 selon l'\u00e2ge d\u00e9taill\u00e9 de la m\u00e8re](http://www.insee.fr/fr/themes/tableau.asp?reg_id=0&ref_id=bilandemo2)."]}, {"cell_type": "code", "execution_count": 10, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/html": ["\n", "
\n", " \n", " \n", " | \n", " age | \n", " 2005 | \n", " 2015 | \n", "
\n", " \n", " \n", " \n", " 3 | \n", " 15.0 | \n", " 0.1 | \n", " 0.0 | \n", "
\n", " \n", " 4 | \n", " 16.0 | \n", " 0.2 | \n", " 0.2 | \n", "
\n", " \n", " 5 | \n", " 17.0 | \n", " 0.5 | \n", " 0.5 | \n", "
\n", " \n", " 6 | \n", " 18.0 | \n", " 1.0 | \n", " 1.1 | \n", "
\n", " \n", " 7 | \n", " 19.0 | \n", " 2.0 | \n", " 2.1 | \n", "
\n", " \n", "
\n", "
"], "text/plain": [" age 2005 2015\n", "3 15.0 0.1 0.0\n", "4 16.0 0.2 0.2\n", "5 17.0 0.5 0.5\n", "6 18.0 1.0 1.1\n", "7 19.0 2.0 2.1"]}, "execution_count": 11, "metadata": {}, "output_type": "execute_result"}], "source": ["from actuariat_python.data import fecondite_france\n", "df=fecondite_france()\n", "df.head()"]}, {"cell_type": "code", "execution_count": 11, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/plain": [""]}, "execution_count": 12, "metadata": {}, "output_type": "execute_result"}, {"data": {"image/png": "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\nbdwGlVkAAAAASUVORK5CYII=\n", "text/plain": [""]}, "metadata": {}, "output_type": "display_data"}], "source": ["df.plot(x=\"age\", y=[\"2005\",\"2015\"])"]}, {"cell_type": "markdown", "metadata": {"collapsed": true}, "source": ["### Table de mortalit\u00e9 \u00e9tendue 1960-2010\n", "\n", "[table de mortalit\u00e9 de 1960 \u00e0 2010](http://www.data-publica.com/opendata/7098--population-et-conditions-sociales-table-de-mortalite-de-1960-a-2010) qu'on r\u00e9cup\u00e8re \u00e0 l'aide de la fonction [table_mortalite_euro_stat](http://www.xavierdupre.fr/app/actuariat_python/helpsphinx/actuariat_python/data/population.html#actuariat_python.data.population.table_mortalite_euro_stat)."]}, {"cell_type": "code", "execution_count": 12, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/plain": ["'mortalite.txt'"]}, "execution_count": 13, "metadata": {}, "output_type": "execute_result"}], "source": ["from actuariat_python.data import table_mortalite_euro_stat \n", "table_mortalite_euro_stat()"]}, {"cell_type": "code", "execution_count": 13, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/plain": ["os.stat_result(st_mode=33206, st_ino=9007199255282328, st_dev=311511962, st_nlink=1, st_uid=0, st_gid=0, st_size=105741052, st_atime=1480548419, st_mtime=1480548432, st_ctime=1480548419)"]}, "execution_count": 14, "metadata": {}, "output_type": "execute_result"}], "source": ["import os\n", "os.stat(\"mortalite.txt\")"]}, {"cell_type": "code", "execution_count": 14, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/html": ["\n", "
\n", " \n", " \n", " | \n", " annee | \n", " valeur | \n", " age | \n", " age_num | \n", " indicateur | \n", " genre | \n", " pays | \n", "
\n", " \n", " \n", " \n", " 0 | \n", " 2012 | \n", " 0.00000 | \n", " Y01 | \n", " 1.0 | \n", " DEATHRATE | \n", " F | \n", " AD | \n", "
\n", " \n", " 1 | \n", " 2014 | \n", " 0.00042 | \n", " Y01 | \n", " 1.0 | \n", " DEATHRATE | \n", " F | \n", " AL | \n", "
\n", " \n", " 2 | \n", " 2009 | \n", " 0.00080 | \n", " Y01 | \n", " 1.0 | \n", " DEATHRATE | \n", " F | \n", " AM | \n", "
\n", " \n", " 3 | \n", " 2008 | \n", " 0.00067 | \n", " Y01 | \n", " 1.0 | \n", " DEATHRATE | \n", " F | \n", " AM | \n", "
\n", " \n", " 4 | \n", " 2007 | \n", " 0.00052 | \n", " Y01 | \n", " 1.0 | \n", " DEATHRATE | \n", " F | \n", " AM | \n", "
\n", " \n", "
\n", "
"], "text/plain": [" annee valeur age age_num indicateur genre pays\n", "0 2012 0.00000 Y01 1.0 DEATHRATE F AD\n", "1 2014 0.00042 Y01 1.0 DEATHRATE F AL\n", "2 2009 0.00080 Y01 1.0 DEATHRATE F AM\n", "3 2008 0.00067 Y01 1.0 DEATHRATE F AM\n", "4 2007 0.00052 Y01 1.0 DEATHRATE F AM"]}, "execution_count": 15, "metadata": {}, "output_type": "execute_result"}], "source": ["import pandas\n", "df = pandas.read_csv(\"mortalite.txt\", sep=\"\\t\", encoding=\"utf8\", low_memory=False)\n", "df.head()"]}, {"cell_type": "code", "execution_count": 15, "metadata": {"collapsed": false}, "outputs": [{"data": {"text/html": ["\n", "
\n", " \n", " \n", " | \n", " annee | \n", " valeur | \n", " age | \n", " age_num | \n", " indicateur | \n", " genre | \n", " pays | \n", "
\n", " \n", " \n", " \n", " 87406 | \n", " 2000 | \n", " 5.020000e-03 | \n", " Y60 | \n", " 60.0 | \n", " DEATHRATE | \n", " F | \n", " FR | \n", "
\n", " \n", " 88955 | \n", " 2000 | \n", " 4.860000e-03 | \n", " Y61 | \n", " 61.0 | \n", " DEATHRATE | \n", " F | \n", " FR | \n", "
\n", " \n", " 485730 | \n", " 2000 | \n", " 2.580000e+01 | \n", " Y60 | \n", " 60.0 | \n", " LIFEXP | \n", " F | \n", " FR | \n", "
\n", " \n", " 487268 | \n", " 2000 | \n", " 2.490000e+01 | \n", " Y61 | \n", " 61.0 | \n", " LIFEXP | \n", " F | \n", " FR | \n", "
\n", " \n", " 882568 | \n", " 2000 | \n", " 5.010000e-03 | \n", " Y60 | \n", " 60.0 | \n", " PROBDEATH | \n", " F | \n", " FR | \n", "
\n", " \n", " 884117 | \n", " 2000 | \n", " 4.850000e-03 | \n", " Y61 | \n", " 61.0 | \n", " PROBDEATH | \n", " F | \n", " FR | \n", "
\n", " \n", " 1281364 | \n", " 2000 | \n", " 9.949900e-01 | \n", " Y60 | \n", " 60.0 | \n", " PROBSURV | \n", " F | \n", " FR | \n", "
\n", " \n", " 1282913 | \n", " 2000 | \n", " 9.951500e-01 | \n", " Y61 | \n", " 61.0 | \n", " PROBSURV | \n", " F | \n", " FR | \n", "
\n", " \n", " 1679610 | \n", " 2000 | \n", " 9.307600e+04 | \n", " Y60 | \n", " 60.0 | \n", " PYLIVED | \n", " F | \n", " FR | \n", "
\n", " \n", " 1681148 | \n", " 2000 | \n", " 9.261800e+04 | \n", " Y61 | \n", " 61.0 | \n", " PYLIVED | \n", " F | \n", " FR | \n", "
\n", " \n", " 2075898 | \n", " 2000 | \n", " 9.331000e+04 | \n", " Y60 | \n", " 60.0 | \n", " SURVIVORS | \n", " F | \n", " FR | \n", "
\n", " \n", " 2077436 | \n", " 2000 | \n", " 9.284300e+04 | \n", " Y61 | \n", " 61.0 | \n", " SURVIVORS | \n", " F | \n", " FR | \n", "
\n", " \n", " 2472219 | \n", " 2000 | \n", " 2.405594e+06 | \n", " Y60 | \n", " 60.0 | \n", " TOTPYLIVED | \n", " F | \n", " FR | \n", "
\n", " \n", " 2473757 | \n", " 2000 | \n", " 2.312517e+06 | \n", " Y61 | \n", " 61.0 | \n", " TOTPYLIVED | \n", " F | \n", " FR | \n", "
\n", " \n", "
\n", "
"], "text/plain": [" annee valeur age age_num indicateur genre pays\n", "87406 2000 5.020000e-03 Y60 60.0 DEATHRATE F FR\n", "88955 2000 4.860000e-03 Y61 61.0 DEATHRATE F FR\n", "485730 2000 2.580000e+01 Y60 60.0 LIFEXP F FR\n", "487268 2000 2.490000e+01 Y61 61.0 LIFEXP F FR\n", "882568 2000 5.010000e-03 Y60 60.0 PROBDEATH F FR\n", "884117 2000 4.850000e-03 Y61 61.0 PROBDEATH F FR\n", "1281364 2000 9.949900e-01 Y60 60.0 PROBSURV F FR\n", "1282913 2000 9.951500e-01 Y61 61.0 PROBSURV F FR\n", "1679610 2000 9.307600e+04 Y60 60.0 PYLIVED F FR\n", "1681148 2000 9.261800e+04 Y61 61.0 PYLIVED F FR\n", "2075898 2000 9.331000e+04 Y60 60.0 SURVIVORS F FR\n", "2077436 2000 9.284300e+04 Y61 61.0 SURVIVORS F FR\n", "2472219 2000 2.405594e+06 Y60 60.0 TOTPYLIVED F FR\n", "2473757 2000 2.312517e+06 Y61 61.0 TOTPYLIVED F FR"]}, "execution_count": 16, "metadata": {}, "output_type": "execute_result"}], "source": ["df [ ((df.age==\"Y60\") | (df.age==\"Y61\")) & (df.annee == 2000) & (df.pays==\"FR\") & (df.genre==\"F\")]"]}, {"cell_type": "code", "execution_count": 16, "metadata": {"collapsed": true}, "outputs": [], "source": []}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}}, "nbformat": 4, "nbformat_minor": 2}