# Levanto los datos en 3 diferentes dataframes
# ARTÍCULOS
conn = sql3.connect('/work/Data/articles.db')
sql_query = pd.read_sql_query('SELECT * FROM articles', conn)
df_articles = pd.DataFrame(sql_query, columns=['article_id','article_name','unit_price'])
print(df_articles)
# VENDEDORES
df_sellers = pd.read_excel('/work/Data/sellers.xlsx')
print(df_sellers)
# ÓRDENES
df_orders = pd.read_csv('/work/Data/orders.csv')
print(df_orders)
# Exploración del df artículos
print('Muestra de datos')
print(df_articles.head())
print('\nFormato del dataframe')
print(df_articles.shape)
print('\nBúsqueda de valores nulos')
print(df_articles.isnull().sum())
print('\nFormato de los datos')
print(df_articles.dtypes)
# Exploración del df vendedores
print('Muestra de datos')
print(df_sellers.head())
print('\nFormato del dataframe')
print(df_sellers.shape)
print('\nBúsqueda de valores nulos')
print(df_sellers.isnull().sum())
print('\nFormato de los datos')
print(df_sellers.dtypes)
# Exploración del df de órdenes
print('Muestra de datos')
print(df_orders.head())
print('\nFormato del dataframe')
print(df_orders.shape)
print('\Búsqueda de valores nulos')
print(df_orders.isnull().sum())
print('\Formato de los datos')
print(df_orders.dtypes)
article_id int64
article_name object
unit_price float64
dtype: object
Tabla Final para Trabajar.
week quantity country_name article_name total_amount seller_name
0 1 10 Peru Water Cooling S 675.00 Cirilo Grandham
1 1 15 Peru Mouse S 454.50 Ewell Peres
2 1 5 Bolivia Netbook S 725.00 Janel O'Curran
3 1 9 Brazil Tablet S 1,170.00 Janel O'Curran
4 1 6 Mexico Case S 227.40 Daisie Slograve
Artículo más vendido:
article_name
HDD 413
Name: quantity, dtype: int64
Artículo que más ingresos proporciona:
article_name
Full Pc S 538,335.93
Name: total_amount, dtype: float64
Mejor vendedor del mes:
quantity total_amount
seller_name
Janel O'Curran 703 S 192,832.47
Cantidad de Art. Vendidos y Monto de Venta por Semana:
quantity total_amount
week
1 2449 S 507,458.81
2 2444 S 415,364.44
3 2114 S 329,140.03
4 1058 S 223,844.56
Las ventas entre la semana 1 y la semana 4 cayeron en:
44.11088261528064 %
Mejores 5 países en Ventas
quantity total_amount
country_name
Brazil 2515 S 441,271.85
Argentina 947 S 205,832.78
Colombia 881 S 177,514.29
Peru 1027 S 161,421.12
Mexico 846 S 138,619.99
#Artículos mejor vendidos por semana
for i in range(1,5):
my_df6 = ((my_df[(my_df['week'] == i)]).groupby('article_name').sum()).sort_values('total_amount', ascending=False).head(3)
print('\nArt. Mejor Vendidos, Semana:',i)
print('\n',my_df6[['quantity']+['total_amount']])
Art. Mejor Vendidos, Semana: 1
quantity total_amount
article_name
Full Pc 97 S 206,397.57
Notebook 95 S 95,000.00
Smartphone 89 S 46,725.00
Art. Mejor Vendidos, Semana: 2
quantity total_amount
article_name
Full Pc 76 S 161,713.56
Smartphone 93 S 48,825.00
Notebook 37 S 37,000.00
Art. Mejor Vendidos, Semana: 3
quantity total_amount
article_name
Full Pc 49 S 104,262.69
Notebook 41 S 41,000.00
Smartphone 73 S 38,325.00
Art. Mejor Vendidos, Semana: 4
quantity total_amount
article_name
Notebook 78 S 78,000.00
Full Pc 31 S 65,962.11
Smartphone 35 S 18,375.00
Monto de Venta por Semana de los 3 mejores artículos vendidos en Todos los Países
week
1 S 348,122.57
2 S 247,538.56
3 S 183,587.69
4 S 162,337.11
Name: total_amount, dtype: float64
Monto de Venta por Semana de los 3 mejores artículos vendidos en el Top 5 Países
week
1 S 247,541.08
2 S 191,996.41
3 S 139,042.73
4 S 127,297.77
Name: total_amount, dtype: float64
% de Venta Artículos Top 3 por los Países Top 5 Semana a Semana
week
1 S 71.11
2 S 77.56
3 S 75.74
4 S 78.42
Name: total_amount, dtype: float64
Los 5 países que menos ganancias generaron:
quantity total_amount
country_name
Puerto Rico 12 S 1,265.43
Paraguay 123 S 8,195.12
Ecuador 129 S 17,475.30
Uruguay 92 S 17,843.09
Bolivia 181 S 22,682.80
Artículos mejor vendidos por los Países que menos ingresos generaron:
quantity total_amount
article_name
Full Pc 9 S 19,150.29
Smartphone 24 S 12,600.00
Monitor 32 S 7,360.00
Motherboard 34 S 4,704.92
Tablet 27 S 3,510.00
#Artículo Top 3 NO vendido por los países que menos generan ingresos
print('Los países que menos ingresos generaron este mes, no vendieron Notebook')
my_df73=((my_df[((my_df['article_name'] == 'Notebook'))&((my_df['country_name'] =='Puerto Rico') | (my_df['country_name'] == 'Paraguay') | (my_df['country_name'] == 'Ecuador') | (my_df['country_name'] == 'Uruguay') | (my_df['country_name'] == 'Bolivia')) ]).groupby(['article_name']).sum()).sort_values('total_amount')
print(my_df73)
Los países que menos ingresos generaron este mes, no vendieron Notebook
Empty DataFrame
Columns: [week, quantity, total_amount]
Index: []
Artículos más vendidos por los Países que menos ingresos generaron:
quantity total_amount
article_name
Monitor 32 S 7,360.00
Motherboard 34 S 4,704.92
Headphones 37 S 862.10
Ram Memory 43 S 1,545.85
Pci Express Port 48 S 485.76
¿Cuáles son los 3 artículos más costosos?
article_name unit_price
article_id
20016 Full Pc S 2,127.81
20023 Notebook S 1,000.00
20015 Smartphone S 525.00
¿Cuáles son los 3 artículos que más ganancias generan?
article_name
Full Pc S 538,335.93
Notebook S 251,000.00
Smartphone S 152,250.00
Name: total_amount, dtype: float64
Artículos que generaron menos ganancias, semana a semana
Semana: 1
quantity total_amount
article_name
Sata Cable 74 S 158.36
Usb Cable 69 S 203.55
Fan Cooler 58 S 246.50
Heatsink 57 S 570.00
Pci Express Port 96 S 971.52
Semana: 2
quantity total_amount
article_name
Usb Cable 60 S 177.00
Sata Cable 98 S 209.72
Fan Cooler 54 S 229.50
Pci Express Port 47 S 475.64
Heatsink 110 S 1,100.00
Semana: 3
quantity total_amount
article_name
Sata Cable 48 S 102.72
Usb Cable 72 S 212.40
Fan Cooler 57 S 242.25
Heatsink 58 S 580.00
Keyboard 31 S 700.60
Semana: 4
quantity total_amount
article_name
Sata Cable 44 S 94.16
Fan Cooler 36 S 153.00
Scanner 1 S 185.00
Usb Cable 72 S 212.40
Keyboard 14 S 316.40