Exo4 Module 2

parent c0202bfd
#+TITLE: Votre titre #+TITLE: Analyse des mots-clés de mon journal
#+AUTHOR: Votre nom
#+DATE: La date du jour #+AUTHOR: GNIBGA Wedan Emmanuel
#+DATE: 09/12/2021r
#+LANGUAGE: fr #+LANGUAGE: fr
# #+PROPERTY: header-args :eval never-export
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://www.pirilampo.org/styles/readtheorg/css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://www.pirilampo.org/styles/readtheorg/css/readtheorg.css"/>
#+HTML_HEAD: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
#+HTML_HEAD: <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/lib/js/jquery.stickytableheaders.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/readtheorg/js/readtheorg.js"></script>
* Quelques explications Ce journal contient des relevés de temperature de la temperature de Canton de Bâle-Ville , Suisse
depuis le mois de novembre 2021.
Je suis essentiellement interessé par les conditions meteos dans ma recherche en energie renouvellable.
Ceci est un document org-mode avec quelques exemples de code
python. Une fois ouvert dans emacs, ce document peut aisément être
exporté au format HTML, PDF, et Office. Pour plus de détails sur
org-mode vous pouvez consulter https://orgmode.org/guide/.
Lorsque vous utiliserez le raccourci =C-c C-e h o=, ce document sera * Mise en forme des données
compilé en html. Tout le code contenu sera ré-exécuté, les résultats Les données sont organisées sous forme date, minimum, maximum, a chaque ligne
récupérés et inclus dans un document final. Si vous ne souhaitez pas On pourrait alors les exporter sous forme csv par le code python suivant
ré-exécuter tout le code à chaque fois, il vous suffit de supprimer
le # et l'espace qui sont devant le ~#+PROPERTY:~ au début de ce
document.
Comme nous vous l'avons montré dans la vidéo, on inclue du code
python de la façon suivante (et on l'exécute en faisant ~C-c C-c~):
#+begin_src python :results output :exports both #+begin_src emacs-lisp :results silent :exports none
print("Hello world!") (org-babel-do-load-languages
'org-babel-load-languages
'((python .t)))
(setq org-babel-python-command "python3")
#+end_src #+end_src
#+RESULTS:
: Hello world!
Voici la même chose, mais avec une session python, donc une
persistance d'un bloc à l'autre (et on l'exécute toujours en faisant
~C-c C-c~).
#+begin_src python :results output :session :exports both #+begin_src python :results output :session :exports both
import numpy
x=numpy.linspace(-15,15) file = open('../../journal.org', 'r')
print(x) csv_file=open('./journal.csv','w')
lines = file.readlines()
count = 0
for line in lines:
count=count+1
#print("Line: {}".format(line.strip()))
if line.strip() == "* Weather Data":
break
for line in lines[count:]:
csv_file.writelines(line)
file.close()
csv_file.close()
#+end_src #+end_src
#+RESULTS: #+RESULTS:
#+begin_example
[-15. -14.3877551 -13.7755102 -13.16326531 -12.55102041
-11.93877551 -11.32653061 -10.71428571 -10.10204082 -9.48979592
-8.87755102 -8.26530612 -7.65306122 -7.04081633 -6.42857143 * statistics de base.
-5.81632653 -5.20408163 -4.59183673 -3.97959184 -3.36734694 Nous allons determiner les jours pour lesquels on a besoin de refroidir les installations.
-2.75510204 -2.14285714 -1.53061224 -0.91836735 -0.30612245 (temperature moyenne > 12°)
0.30612245 0.91836735 1.53061224 2.14285714 2.75510204
3.36734694 3.97959184 4.59183673 5.20408163 5.81632653 #+begin_src python :results output :exports both
6.42857143 7.04081633 7.65306122 8.26530612 8.87755102
9.48979592 10.10204082 10.71428571 11.32653061 11.93877551 csv_file=open('./journal.csv','r')
12.55102041 13.16326531 13.7755102 14.3877551 15. ] cooling_date=[]
#+end_example non_cooling_date=[]
Et enfin, voici un exemple de sortie graphique: lines = csv_file.readlines()
#+begin_src python :results output file :session :var matplot_lib_filename="./cosxsx.png" :exports results for line in lines[1:]:
import matplotlib.pyplot as plt line_tmp = (line.strip()).split(',')
if len(line_tmp) > 0 :
plt.figure(figsize=(10,5)) if (float(line_tmp[1])+float(line_tmp[2]))/2 > 12:
plt.plot(x,numpy.cos(x)/x) cooling_date.append(line_tmp[0])
plt.tight_layout() else :
non_cooling_date.append(line_tmp[0])
plt.savefig(matplot_lib_filename) print("Dates necesittant du refroidissement {} \n".format(cooling_date))
print(matplot_lib_filename) print("\n Date non necesitant du refroidissement {}" .format(non_cooling_date))
csv_file.close()
#+end_src #+end_src
#+RESULTS: #+RESULTS:
[[file:./cosxsx.png]]
Vous remarquerez le paramètre ~:exports results~ qui indique que le code * Representation graphique
ne doit pas apparaître dans la version finale du document. Nous vous NOus allons representer à l'aide de traits :
recommandons dans le cadre de ce MOOC de ne pas changer ce paramètre - En rouge les, dates auquelles on aura besoin de refroidissement et en bleu, celles auquelles on n'en aura pas besoin
(indiquer ~both~) car l'objectif est que vos analyses de données soient
parfaitement transparentes pour être reproductibles. #+begin_src python :results silent :session :exports results
plt.ylim(0,16)
Attention, la figure ainsi générée n'est pas stockée dans le document fig=plt.figure()
org. C'est un fichier ordinaire, ici nommé ~cosxsx.png~. N'oubliez pas ax1 = plt.subplot(2,1,1)
de le committer si vous voulez que votre analyse soit lisible et for idx,date in enumerate(cooling_date):
compréhensible sur GitLab. plt.bar((str(date))[5:],cooling_weather[idx],align='center',facecolor='red', edgecolor='red', width=0.01)
Enfin, n'oubliez pas que nous vous fournissons dans les ressources de ax2 = plt.subplot(2,1,2)
ce MOOC une configuration avec un certain nombre de raccourcis for idx,date in enumerate(non_cooling_date):
claviers permettant de créer rapidement les blocs de code python (en plt.bar((str(date))[5:],non_cooling_weather[idx],align='center',facecolor='blue', edgecolor='blue', width=0.01)
faisant ~<p~, ~<P~ ou ~<PP~ suivi de ~Tab~).
fig.savefig("./weather.png")
Maintenant, à vous de jouer! Vous pouvez effacer toutes ces #+end_src
informations et les remplacer par votre document computationnel.
[[file:./weather.png]]
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment