프로젝트
Adidas 월단위 제품별 판매량 시각화
import pymysql
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
db = pymysql.connect(host='localhost',
port=3306,
user='root',
passwd='****',
db = 'programmers_da',
charset='utf8')
cursor = db.cursor()
year_month = []
sum = []
products = []
sql = "SELECT date_format(InvoiceDate, '%y-%m') as month from adidas group by 1 order by 1;"
cursor.execute(sql)
for month in cursor:
year_month.append(','.join(month))
sql = "select product from adidas group by 1 order by 1;"
cursor.execute(sql)
for product in cursor:
products.append(','.join(product))
sql = "SELECT date_format(InvoiceDate, '%y-%m') as month, Product, sum(UnitsSold) FROM adidas group by 1, 2 order by month, Product;"
cursor.execute(sql)
for line in cursor:
sum.append(int(line[2]))
np_sum = np.array(sum)
np_sum = np_sum.reshape(len(sum) // 6, 6)
data = [[np_sum[j][i] for j in range(len(np_sum))] for i in range(len(np_sum[0]))]
x_labels = year_month
x_values = list(range(1, len(data[0]) + 1))
for i in range(len(data)):
plt.plot(x_values, data[i], label=products[i])
plt.title('Monthly Products Sold')
plt.xlabel('Month')
plt.ylabel('Value')
plt.xticks(x_values, x_labels)
plt.legend()
plt.show()
cursor.close()
db.close()