From 63eeddb40e4db32a867611eb74743bfdfbccff4a Mon Sep 17 00:00:00 2001 From: lolaborie Date: Wed, 17 May 2023 11:25:02 +0200 Subject: [PATCH] MAJ Visualisation SQL --- manipSQL.py | 64 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 45 insertions(+), 19 deletions(-) diff --git a/manipSQL.py b/manipSQL.py index 6c7b011..75a33cb 100644 --- a/manipSQL.py +++ b/manipSQL.py @@ -27,31 +27,57 @@ try: user='lolaborie', password = mdp) - df = pd.read_sql('''SELECT p.nomR,avg(s.gscore) as Moyenne_Score_Global_Region + df = pd.read_sql('''SELECT p.nomR,avg(s.position) as Moyenne_Position_Region FROM Statistique s, Pays p, Region r - WHERE s.codeP = p.code AND p.nomR = r.nom AND s.annee = '2021' - GROUP BY p.nomR;''', con=co) # Score moyen global par région en 2021 - fig = df.plot(x='nomr', y='moyenne_position_region') - fig.set_title('Score moyen global par région en 2021') - fig.set_xlabel('Région') - fig.set_ylabel('Score moyen (sur 100)') + WHERE s.codeP = p.code AND p.nomR = r.nom AND s.annee = '2022' + GROUP BY p.nomR;''', con=co) # Position moyenne par région en 2022 + plt.plot(df['nomr'], df['moyenne_position_region'],'g') + plt.plot(df['nomr'], df['moyenne_position_region'],'xk') + plt.title("Position moyenne par région en 2022") plt.show() # Affichage - df = pd.read_sql('''SELECT p.nom, s.gscore, s.annee + + + df = pd.read_sql('''SELECT p.nom,s.jkill as journalistes_tues FROM Statistique s, Pays p - WHERE s.codeP = p.code AND s.gscore = (SELECT min(gscore) FROM Statistique s1 WHERE s1.annee = s.annee);''', con=co) # Pays ayant le score global le moins élevé par année - print(df) - df = pd.read_sql('''SELECT p.nom, s.gscore, s.annee + WHERE s.codeP = p.code AND s.annee = '2022' + ORDER BY s.jkill DESC + LIMIT 5;''', con=co) # les 5 pays où le nombre de journalistes tués en 2022 est le plus élevé + plt.plot(df['nom'], df['journalistes_tues'],'r') + plt.plot(df['nom'], df['journalistes_tues'],'xb') + plt.title("les 5 pays où le nombre de journalistes tués en 2022 est le plus élevé") + plt.show() # Affichage + + + df = pd.read_sql('''SELECT p.nom,s.jkill as journalistes_tues FROM Statistique s, Pays p - WHERE s.codeP = p.code AND s.gscore = (SELECT max(gscore) FROM Statistique s1 WHERE s1.annee = s.annee);''', con=co) # Pays ayant le score global le plus élevé par année - print(df) - df = pd.read_sql('''SELECT p.nomR, s.gscore, s.annee + WHERE s.codeP = p.code AND s.annee = '2020' + ORDER BY s.jkill DESC + LIMIT 5;''', con=co) # les 5 pays où le nombre de journalistes tués en 2020 est le plus élevé + plt.plot(df['nom'], df['journalistes_tues'],'r') + plt.plot(df['nom'], df['journalistes_tues'],'xk') + plt.title("les 5 pays où le nombre de journalistes tués en 2020 est le plus élevé") + plt.show() # Affichage + + df = pd.read_sql('''SELECT p.nom,s.mkill as personnes_tues FROM Statistique s, Pays p - WHERE s.codeP = p.code AND s.gscore = (SELECT min(gscore) FROM Statistique s1 WHERE s1.annee = s.annee);''', con=co) # Pays ayant le score global le moins élevé par année - print(df) - df = pd.read_sql('''SELECT p.nomR, s.gscore, s.annee + WHERE s.codeP = p.code AND s.annee = '2022' + ORDER BY s.mkill DESC + LIMIT 5;''', con=co) # les 5 pays où le nombre de personnes travaillant dans les médias tuées en 2022 est le plus élevé + plt.plot(df['nom'], df['personnes_tues'],'b') + plt.plot(df['nom'], df['personnes_tues'],'xr') + plt.title("les 5 pays où le nombre de personnes travaillant dans les médias tuées en 2022 est le plus élevé") + plt.show() # Affichage + + df = pd.read_sql('''SELECT p.nom,s.mkill as personnes_tues FROM Statistique s, Pays p - WHERE s.codeP = p.code AND s.gscore = (SELECT max(gscore) FROM Statistique s1 WHERE s1.annee = s.annee);''', con=co) # Pays ayant le score global le plus élevé par année - print(df) + WHERE s.codeP = p.code AND s.annee = '2020' + ORDER BY s.mkill DESC + LIMIT 5;''', con=co) # les 5 pays où le nombre de personnes travaillant dans les médias tuées en 2020 est le plus élevé + plt.plot(df['nom'], df['personnes_tues'],'b') + plt.plot(df['nom'], df['personnes_tues'],'xg') + plt.title("les 5 pays où le nombre de personnes travaillant dans les médias tuées en 2020 est le plus élevé") + plt.show() # Affichage + # Affichage du message d'erreur en cas de probl ème de connexion except(Exception, pg.DatabaseError) as error :