import pandas as pd import psycopg2 as psy import numpy as np import matplotlib.pyplot as plt import subprocess as sp # Problématique : Où en est la liberté de la presse dans le monde? # -- Quantité -- # # le format des données est ".csv" et elles sont séparées # 180 lignes et 16 colonnes # Les colonnes les plus importantes pour une étude statistique sont les pays bien-sûr, # les scores économiques et politiques avec les scores sociaux et de sécurité # ainsi que tous les autres scores. Ceux sont eux qui vont pouvoir calculer le classement. # Ces derniers pourront nous permettre d'établir # un lien entre la position du pays dans le classement et leur scores respectifs. # Les autres caractéristiques pertinentes sont aussi le nombre de journalistes # ou personnes travaillant dans les media qui ont été emprisonnés ou tués. # très intéressant à mettre en perspective avec la liberté de la presse en 2022. # -- Nettoyage et présentation de données -- # data = pd.read_csv(r'Report_2022.csv') df = pd.DataFrame(data) df = df.drop_duplicates() df=df.dropna() # print(df) # Les données sont des nombre décimaux notamment pour les différents score des pays #, des entiers pour le nombre de journalistes tués ou emprisonnés, # et des chaînes de caractères afin de de désigner un pays. # Nous pouvons calculer plusieurs statistiques qui vont être intéressantes pour notre étude. # Par exemple, l'étendue ou la moyenne des différents scores, # la somme des pays où la situation est considérée problématique ou "vraiment sérieuse" # La moyenne des journalistes tués par pays, La moyenne des journalistes emprisonnés par pays secscore = df["Security Score"] print("Moyenne du score de sécurité : ",secscore.mean()) socscore = df["Social Score"] print("Moyenne du score social : ",socscore.mean()) socscore = df["Social Score"] print("Moyenne du score social : ",socscore.mean()) polscore = df["Politic Score"] print("Moyenne du score politique : ",polscore.mean()) ecoscore = df["Economic Score"] print("Moyenne du score économique : ",ecoscore.mean()) jkilled = df["Journalist Killed"] print("Moyenne des journalistes tués dans le monde : ", jkilled.mean()) jimp = df["Journalist Imprisoned"] print("Moyenne des journalistes emprisonnés dans le monde : ", jimp.mean()) # Boîte à moustache du score global, qui nous permettra de voir la médiane, # et les données "abérrantes" dans le cas où il y en a. gscore = df["Global Score"] plt.figure() gscore.plot.box() plt.show() # On remarque qu'aucune données n'est considérées comme "abérrantes". # Histogramme des journalistes tués par pays plt.figure() jkilled.hist(bins=50) plt.title("Histogramme des journalistes tués par pays") plt.xlabel("Nombre de journalistes tués") plt.ylabel("Nombre de pays") plt.show() # Grâce à cet histogramme, nous pouvons remarquer que plus de 160 pays n'ont pas # tués de journaliste. On constate également, # que le record de l'année est à 9 journalistes tués. Record détenu par le Mexique. # Histogramme du score global plt.figure() gscore.hist(bins=50) plt.title("Histogramme du score global") plt.xlabel("Score sur 100") plt.ylabel("Nombre de pays") plt.show() # Clui-ci permet d'avoir une idée globale de la répartiotion du score globale, # que l'on pourra comparer avec nos données actuelles.