mirror of
https://app-learninglab.inria.fr/moocrr/gitlab/da84ababf0696af51bddad556af86353/mooc-rr.git
synced 2026-06-17 09:35:24 +02:00
3.4 KiB
3.4 KiB
Analyse du journal
Récupération des données du journal
Ici nous allons importer les étiquettes et les exporter dans un
fichier data.csv.
grep -oP "(?<=:)([a-zA-Z]*)(?=:)" ~/org/journal.org > data.csv
head -n 5 data.csv
informatique wikipedia biologie virus allergie
Traitement des données
import csv
from collections import Counter
temporaryList = []
with open('data.csv', 'r', encoding='utf8') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
temporaryList.append(row[0])
tagCount = Counter(temporaryList)
tagList = []
countList = []
for tag in tagCount:
tagList.append(tag)
countList.append(tagCount[tag])
Ici on convertit les données en dataframe pandas afin de pouvoir faire
l'affichage plus facilement.
import pandas as pd
preDataframe = dict(tagCount)
print(preDataframe)
tagCountDataframe = pd.DataFrame.from_dict({'tags':list(preDataframe), 'values':list(preDataframe.values())})
tagCountDataframe['values'] = pd.to_numeric(tagCountDataframe['values'])
print(tagCountDataframe)
{'informatique': 2, 'wikipedia': 1, 'biologie': 2, 'virus': 1, 'allergie': 1, 'noexport': 2, 'LOGBOOK': 2, 'END': 2, 'mooc': 1, 'science': 1, 'Epistemology': 1}
tags values
0 informatique 2
1 wikipedia 1
2 biologie 2
3 virus 1
4 allergie 1
5 noexport 2
6 LOGBOOK 2
7 END 2
8 mooc 1
9 science 1
10 Epistemology 1
Affichage des données
Diverses infos
print(f"Les tags les plus cités : {tagCount.most_common(3)}")
Les tags les plus cités : [('informatique', 2), ('biologie', 2), ('noexport', 2)]
Graphiques
import matplotlib.pyplot as plt
plt.figure(figsize=(10,5))
plt.tight_layout()
# Affichage
ax = tagCountDataframe.plot(x="tags", y="values", kind='bar')
plt.savefig(matplot_lib_filename)
matplot_lib_filename
