You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
2.2 KiB

import pandas as pd
import psycopg2 as psy
import getpass
import matplotlib.pyplot as plt
data = pd. read_csv (r'vgsales.csv')
df = pd.DataFrame(data)
df = df.drop_duplicates()
co = None
try:
co = psy. connect(host='londres',
database ='dbanperederi',
user='anperederi',
password = getpass.getpass("Mot de passe:"))
#Q2 Afficher sous forme de courbe les résultats de la requête précédente.
datafr = pd.read_sql('''SELECT na_sales as total_vente_na, eu_sales as total_vente_eu, jp_sales as total_vente_jp, other_sales as total_vente_autre
FROM VGSales
WHERE name = 'Mario Kart 64';''', con=co)
fig = datafr.transpose().plot(kind='bar', title='Ventes par plateforme', figsize=(10, 5), legend=True, fontsize=12)
fig.set_xticklabels(['NA', 'EU', 'JP', 'OTHER'], rotation=45)
plt.show()
#Q3 Même question sous forme de diagramme “camembert”. Les noms des zones devront être à côté
#de la tranche concernée.
datafr = pd.read_sql('''SELECT na_sales as total_vente_na, eu_sales as total_vente_eu, jp_sales as total_vente_jp, other_sales as total_vente_autre
FROM VGSales
WHERE name = 'Mario Kart 64';''', con=co)
fig = datafr.transpose().plot(kind='pie', legend=False ,title='Ventes par plateforme', figsize=(10, 5), fontsize=12, subplots=True)
plt.show()
#Q4 Même question mais le pourcentage de ventes dans chaque zone doit apparaître à côté de la
#tranche concernée et le nom de la zone doit apparaître dans la légende
datafr = pd.read_sql('''SELECT na_sales as total_vente_na, eu_sales as total_vente_eu, jp_sales as total_vente_jp, other_sales as total_vente_autre
FROM VGSales
WHERE name = 'Mario Kart 64';''', con=co)
fig = datafr.transpose().plot(kind='pie',title='Ventes par plateforme', figsize=(10, 5), fontsize=12, subplots=True, autopct='%1.1f%%', legend=False)
plt.show()
except (Exception , psy.DatabaseError ) as error :
print ( error )
finally :
if co is not None:
co.close ()