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.

82 lines
3.6 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 platform, SUM(eu_sales) as total_vente
FROM VGSales
GROUP BY platform;''', con=co)
fig = datafr.plot(x='platform', y='total_vente', kind='line', title='Ventes par plateforme en europe', figsize=(10, 5), legend=True, fontsize=12)
fig.set_xlabel('Platforme')
fig.set_ylabel('Ventes (en millions)')
fig.set_xticks(datafr.index)
fig.set_xticklabels(datafr['platform'], rotation=45)
plt.show()
#Q4
datafr = pd.read_sql('''SELECT platform, SUM(eu_sales) as total_vente
FROM VGSales
GROUP BY platform;''', con=co)
fig = datafr.plot(x='platform', y='total_vente', kind='bar', title='Ventes par plateforme en europe', figsize=(10, 5), legend=True, fontsize=12)
fig.set_xlabel('Platforme')
fig.set_ylabel('Ventes (en millions)')
fig.set_xticks(datafr.index)
fig.set_xticklabels(datafr['platform'], rotation=45)
plt.show()
#Q5
datafr = pd.read_sql('''SELECT platform, SUM(na_sales) as total_vente_na, SUM(eu_sales) as total_vente_eu, SUM(jp_sales) as total_vente_jp, SUM(other_sales) as total_vente_autre
FROM VGSales
GROUP BY platform;''', con=co)
fig = datafr.plot(x='platform', y=['total_vente_na', 'total_vente_eu', 'total_vente_jp', 'total_vente_autre'], kind='line', title='Ventes par plateforme', figsize=(10, 5), legend=True, fontsize=12)
fig.set_xlabel('Platforme')
fig.set_ylabel('Ventes (en millions)')
fig.set_xticks(datafr.index)
fig.set_xticklabels(datafr['platform'], rotation=45)
plt.show()
#Q6
datafr = pd.read_sql('''SELECT platform, SUM(na_sales) as total_vente_na, SUM(eu_sales) as total_vente_eu, SUM(jp_sales) as total_vente_jp, SUM(other_sales) as total_vente_autre
FROM VGSales
GROUP BY platform;''', con=co)
fig = datafr.plot(x='platform', y=['total_vente_na', 'total_vente_eu', 'total_vente_jp', 'total_vente_autre'], kind='line', title='Ventes par plateforme', figsize=(10, 5), legend=True, fontsize=12, style=['-', '--', '-.', ':'])
fig.set_xlabel('Platforme')
fig.set_ylabel('Ventes (en millions)')
fig.set_xticks(datafr.index)
fig.set_xticklabels(datafr['platform'], rotation=45)
plt.show()
#Q7
datafr = pd.read_sql('''SELECT platform, SUM(na_sales) as total_vente_na, SUM(eu_sales) as total_vente_eu, SUM(jp_sales) as total_vente_jp, SUM(other_sales) as total_vente_autre
FROM VGSales
GROUP BY platform;''', con=co)
fig = datafr.plot(x='platform', y=['total_vente_na', 'total_vente_eu', 'total_vente_jp', 'total_vente_autre'], kind='bar', title='Ventes par plateforme', figsize=(10, 5), legend=True, fontsize=12, style=['b', 'g', 'r', 'c'])
fig.set_xlabel('Platforme')
fig.set_ylabel('Ventes (en millions)')
fig.set_xticks(datafr.index)
fig.set_xticklabels(datafr['platform'], rotation=45)
plt.show()
except (Exception , psy.DatabaseError ) as error :
print ( error )
finally :
if co is not None:
co.close ()