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.

