프로젝트
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 = set()
gender = set()
sum = []
sql = """SELECT date_format(InvoiceDate, '%y-%m') as month,
case when Product like 'Men%' then 'Men'
when Product like 'Women%' then 'Women'
end as gender,
avg(UnitsSold) FROM adidas
group by 1, 2
order by month, gender;"""
cursor.execute(sql)
for line in cursor:
year_month.add(line[0])
gender.add(line[1])
sum.append(int(line[2]))
np_sum = np.array(sum)
np_sum = np_sum.reshape(len(sum) // 2, 2)
list_year_month = list(year_month)
list_year_month.sort()
list_gender = list(gender)
list_gender.sort()
df = pd.DataFrame(np_sum, columns=['Men', 'Women'], index=list_year_month)
df['Men'].plot(kind='bar', figsize=(12, 6), color='blue', position=0, width=0.4, label='Men')
plt.title('Monthly Sales by Gender')
plt.xlabel('Year-Month')
plt.ylabel('Average Units Sold')
plt.xticks(rotation=0)
plt.legend(title='Gender')
df['Women'].plot(kind='bar', figsize=(12, 6), color='pink', position=1, width=0.4, label='Women')
plt.xticks(rotation=0)
plt.legend(title='Gender')
plt.show()