{ "cells": [ { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "# Exercice sur des données persos\n", "\n", "## Récupération des données\n", "\n", "Récupération d'un listing de notes persos au format markdown.\n", "\n", "```shell\n", "ls 20* -d > tree.txt\n", "```" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [ { "data": { "text/plain": [ "['20200404193723_FirstNote.md',\n", " '20200404193815_SecondNote.md',\n", " '20200404193815_SecondNote.pdf',\n", " '20200406120140_PythonSciBasics.html',\n", " '20200406120140_PythonSciBasics.md',\n", " '20200406120140_PythonSciBasics.pdf',\n", " '20200406222521_OutilsPourMieuxCoder.md',\n", " '20200407101411_AnalyseSensibilite.md',\n", " '20200407102544_LTspice2latex.md',\n", " '20200407105048_latex2svg.md',\n", " '20200407171447_repetabiliteMesures.html',\n", " '20200407171447_repetabiliteMesures.md',\n", " '20200407172558_fideliteMesures.html',\n", " '20200407172558_fideliteMesures.md',\n", " '20200407172757_reproductibiliteMesures.html',\n", " '20200407172757_reproductibiliteMesures.md',\n", " '20200407174039_RechercheReproductible.md',\n", " '20200413171110_ExemplesCodesNonReproductibles.md',\n", " '20200413173245_GuideBonnesPratiquesNumeriquesBD.html',\n", " '20200413173245_GuideBonnesPratiquesNumeriquesBD.md',\n", " '20200413173245_GuideBonnesPratiquesNumeriquesBD.pdf',\n", " '20200501100000_DesignEcolo_EchangeEliseDiscord.md',\n", " '20200501115700_IAecolo_EchangeClementineDiscord.md',\n", " '20200502223100_MethodeKron.md',\n", " '20200502224900_PandocCitationCrossRef.md',\n", " '20200509142300_img/',\n", " '20200509142300_PredictionsClimat.md',\n", " '20200509173000_Retrobrighting.md',\n", " '20200515104700_img/',\n", " '20200515104700_ReparationPerforma400.md',\n", " '20200515142200_doc/',\n", " '20200515142200_ProgrammationMacOS7.md',\n", " '20200516161400_img/',\n", " '20200516161400_ReparationMacLC630.md',\n", " '20200519101800_ProgrammationScientifique.md',\n", " '20200526183300_Imprimante3D.md']" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import csv\n", "from os import getcwd, listdir\n", "\n", "listFiles = []\n", "with open('tree.txt', 'r', encoding='utf8') as myFile:\n", " myReader = csv.reader(myFile)\n", " for row in myReader:\n", " listFiles += row\n", "listFiles" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "Séparation des notes et de leur dossier de pièces jointes :" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['20200509142300_img/', '20200515104700_img/', '20200515142200_doc/', '20200516161400_img/']\n", "['20200404193723_FirstNote.md', '20200404193815_SecondNote.md', '20200404193815_SecondNote.pdf', '20200406120140_PythonSciBasics.html', '20200406120140_PythonSciBasics.md', '20200406120140_PythonSciBasics.pdf', '20200406222521_OutilsPourMieuxCoder.md', '20200407101411_AnalyseSensibilite.md', '20200407102544_LTspice2latex.md', '20200407105048_latex2svg.md', '20200407171447_repetabiliteMesures.html', '20200407171447_repetabiliteMesures.md', '20200407172558_fideliteMesures.html', '20200407172558_fideliteMesures.md', '20200407172757_reproductibiliteMesures.html', '20200407172757_reproductibiliteMesures.md', '20200407174039_RechercheReproductible.md', '20200413171110_ExemplesCodesNonReproductibles.md', '20200413173245_GuideBonnesPratiquesNumeriquesBD.html', '20200413173245_GuideBonnesPratiquesNumeriquesBD.md', '20200413173245_GuideBonnesPratiquesNumeriquesBD.pdf', '20200501100000_DesignEcolo_EchangeEliseDiscord.md', '20200501115700_IAecolo_EchangeClementineDiscord.md', '20200502223100_MethodeKron.md', '20200502224900_PandocCitationCrossRef.md', '20200509142300_PredictionsClimat.md', '20200509173000_Retrobrighting.md', '20200515104700_ReparationPerforma400.md', '20200515142200_ProgrammationMacOS7.md', '20200516161400_ReparationMacLC630.md', '20200519101800_ProgrammationScientifique.md', '20200526183300_Imprimante3D.md']\n" ] } ], "source": [ "notes = []\n", "directories = []\n", "for file in listFiles:\n", " if file[-1]==\"/\":\n", " directories += [file]\n", " else:\n", " notes += [file]\n", "\n", "print(directories)\n", "print(notes)" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## Calcul du nombre de notes écrites par jour\n", "\n", "Pour ce faire on retrouve la date dans le nom de chaque note. Et on compte le nombre de notes écrite pour ce jour. Chaque jour depuis la première date est analysé, même sans notes." ] }, { "cell_type": "code", "execution_count": 104, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "import datetime\n", "import numpy as np\n", "\n", "firstNote = notes[0]\n", "lastNote = notes[-1]\n", "\n", "# retrieve date from filename\n", "def findDate(filename):\n", " year = int(filename[0:4])\n", " month = int(filename[4:6])\n", " day = int(filename[6:8])\n", " return(datetime.datetime(year, month, day))\n", " \n", "startDate = findDate(firstNote)\n", "endDate = findDate(lastNote)\n", "\n", "# build the days vector\n", "dayVect = np.arange(startDate, endDate + datetime.timedelta(days=1), datetime.timedelta(days=1)).astype(datetime.date)\n", "dayVectList = [startDate + datetime.timedelta(days=i) for i in range((endDate-startDate).days+1)]\n", "\n", "notesCount = np.zeros(len(dayVect))\n", "for note in notes:\n", " curDate = findDate(note)\n", " curInd = np.where(curDate == dayVect)\n", " notesCount[curInd] += 1\n", "\n", "pjCount = np.zeros(len(dayVect))\n", "for mydir in directories:\n", " curDate = findDate(mydir)\n", " curInd = np.where(curDate == dayVect)\n", " pjCount[curInd] += 1" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([False, False, True, False, False, False, False, False, False,\n", " False, False, False, False, False, False, False, False, False,\n", " False, False, False, False, False, False, False, False, False,\n", " False, False, False, False, False, False, False, False, False,\n", " False, False, False, False, False, False, False, False, False,\n", " False, False, False, False, False, False, False, False])" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dayVect == findDate(notes[3])" ] }, { "cell_type": "code", "execution_count": 106, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [ { "data": { "text/plain": [ "array([ 3., 0., 4., 10., 0., 0., 0., 0., 0., 4., 0., 0., 0.,\n", " 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n", " 0., 2., 2., 0., 0., 0., 0., 0., 0., 2., 0., 0., 0.,\n", " 0., 0., 2., 1., 0., 0., 1., 0., 0., 0., 0., 0., 0.,\n", " 1.])" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "notesCount" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## Présentation des résultats\n", "\n", "Affichage sous forme de bar du nombre de notes écrites par jour.\n" ] }, { "cell_type": "code", "execution_count": 124, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [ { "data": { "image/png": "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unTpwlZbbcX111+fycnx7t27M2zYsILem/WhpHuAw+L/hxEeoykiUhGvvvoqxxxzDC+++CJrrbUWd9xxB4ceeigXXnghzz//PIMHD+bcc89l7Nix1NTUcMsttzB9+nS6dOnCsccey5QpU5g2bRqHH344Z5xxBgATJkzgueee4/nnn+faa6/N+BMWppKXq94GjATWM7PZwNmE55D+ycyOAN5GDzERkQoaOHAgQ4cOBWDEiBG8/vrrLFiwgF133RWAww47jP32W3W19PLLL/PCCy/wjW98AwiHizbccEMAhgwZwkEHHcSYMWMYM2YM3gafeVOxwuDu32+k09crlUFEJKlbt271/3fu3JkFCxa06H3uztZbb83jjz++SrepU6fy8MMPc88993D++efzxBNPlCxvpWR9KElEpGr07t2btddem0ceeQSAP/7xj/V7D7169ao/ibz55pszb968+sKwdOlSXnzxRVasWME777zDqFGjuOiii1iwYAF1dXXZfJgiZH3yWUSkqtx44431J58HDRrEDTfcAMC4ceM4+uij608+T5kyheOOO46FCxeybNkyfvKTn7DZZptx8MEHs3DhQtydE044gbXWWivjT9R6KgwikrlZE/Ys+L2F3nJiwIABvPDCC/XNJ598cv3/DR3+2Xfffdl3333rm4cOHcrDD696me2jjz66Sr62RoeSREQkRYVBRERSVBhERCRFhUFERFJUGEREJEWFQUREUlQYRKTDO+ecc7jkkktKMqw5c+YwduzYkgwrady4cfW38Bg+fHj9j+vGjRvHlClTSjou/Y5BRLJ33VEFv7Xb0qWQ/2zj8b8rMlDh+vXr16oV9fLly+ncuXOL+r344osZO3Ys999/P0cddRTPP/98oTGbpD0GEemQLrjgAjbffHN22203Xn755fr206dPZ4cddmDIkCHsvffefPRReAz9lVdeyVZbbcWQIUM44IADAHjooYcYOnQoQ4cOZdiwYSxatIhZs2axzTbbAGGlf+aZZ/LlL3+ZIUOG8LvfhYJVW1vLqFGjOPDAAxk8eDCLFy9mzz33ZNttt2Wbbbbh9ttvbzL7LrvswmuvvVaOyQJoj0FEOqBp06YxefJknnvuOZYtW8bw4cMZMWIEAIceeihXXXUVu+66K2eddRbnnnsul19+ORMmTODNN9+kW7du9Tfbu+SSS7jmmmvYcccdqauro3v37qnxTJw4kTXXXJOnn36azz77jB133JFvfvObADz11FO88MILDBw4kDvuuIN+/foxdWp4zsvChekHgeW79957GTx4cKknSz3tMYhIh/PII4+w995706NHD9Zcc02+853vAGGFnH/b7dxtL3K307755pvp0iVsU++4446ceOKJXHnllSxYsKC+fc7999/PbbfdxtChQ9l+++2ZP38+r776KgDbbbcdAwcOBGDw4MH861//4tRTT+WRRx6hd++Gnwh5yimnMHToUK677jomTpxY+gkTqTCISIdkZq3qf+rUqRxzzDFMmzaNESNGsGzZMk477TR+//vf8+mnn7LDDjvwn//8J/Ued+fiiy9m+vTpTJ8+nTfffLN+j2GNNdao72+zzTZj2rRpDB48mNNPP53zzjuvwQy5Yf3zn/+sP1xVDioMItLh7LLLLtx55518+umnLFq0iHvvvRdo/Lbbjd1O+/XXX2fw4MGceuqp1NTUrFIYdt99dyZOnMjSpUsBeOWVV1i8ePEqeebMmUOPHj04+OCDOfnkk3n22WfLPAWapnMMItLhDB8+nP3335+hQ4ey8cYbs/POO9d3a+i228uXL2/wdto///nPefDBB+ncuTNbbbUVo0ePZu7cufXDOvLII3nllVcYPnw47k6fPn246667VskzY8YMTjnlFDp16kTXrl357W9/2+LPsmzZstQDh0pBhUFEslfE5aWfLVrEagXcdvuMM86of05z0tChQxu87Xb+7bQBrrrqqlXaJW/n3alTJ84+++xVfiMxcuRIRo4cWd+8++67s/vuuzeZd9KkSau0W7FiBTNnzmTQoEFNvre1dChJRKQNmjNnDttssw077LADW2+9dUmHrT0GEZE2qF+/frz00ktlGbb2GEREJEWFQUQy4e5ZR2i3ip22KgwiUnHdu3dn/vz5Kg5l4O7Mnz9/lV9ht4bOMYhIxW200UbMnj2befPmFT2sJUuWFLUSLLcs8nXv3p2NNtqo4PerMIhIxXXt2rX+dhDFqq2tZdiwYSUZVjlUe76G6FCSiIikqDCIiEiKCoOIiKRURWEwsxPM7EUze8HMbjOz6j2TJCLSzmVeGMysP3AcUOPu2wCdgQOyTSUi0nFlXhiiLsDqZtYF6AHMyTiPiEiHlXlhcPd3gUuAt4G5wEJ3vz/bVCIiHZdl/ctDM1sb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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.dates as mdates\n", "\n", "%matplotlib inline\n", "\n", "# grouped bar manual\n", "x = np.arange(len(dayVect))\n", "\n", "fig,ax = plt.subplots()\n", "ax.bar(dayVect, notesCount, label='notes')\n", "ax.bar(dayVect, pjCount, label='dossiers PJ', color='#ff550099')\n", "plt.title('Nombre de notes écrites par jour sur les 2 derniers mois')\n", "plt.xlabel('Date')\n", "plt.ylabel('Notes/jour')\n", "plt.grid()\n", "plt.legend()\n", "fig.autofmt_xdate()\n" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "Nombre moyen de notes écrit par jour :" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [ { "data": { "text/plain": [ "0.6792452830188679" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "notesCount.mean()" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10.0" ] }, "execution_count": 125, "metadata": {}, "output_type": "execute_result" } ], "source": [ "notesCount.max()" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.07547169811320754" ] }, "execution_count": 126, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pjCount.mean()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "hide_code_all_hidden": false, "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }