Análisis Energía Eléctrica
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
Capacidad Efectiva
df = pd.read_csv('capacidadefectiva.csv', sep=';')
df
df.columns
ano_prod= df.groupby('ANO')['CAPACIDAD DE GENERACION MW'].sum()
ano_prod= ano_prod.reset_index()
ano_prod
dpto_ano= df.groupby(['DEPARTAMENTO','ANO']).sum()
dpto_ano= dpto_ano.reset_index()
dpto_ano=pd.pivot_table(dpto_ano,columns='DEPARTAMENTO', index='ANO',values= 'CAPACIDAD DE GENERACION MW')
dpto_ano
dpto_ano= df.groupby(['DEPARTAMENTO','ANO']).sum()
dpto_ano= dpto_ano.reset_index()
dpto_ano
fig, ax = plt.subplots(figsize = (25, 10))
sns.barplot(x = 'ANO', y = 'CAPACIDAD DE GENERACION MW', data = dpto_ano,hue='DEPARTAMENTO',ax=ax)
dpto_reg= df.groupby(['DEPARTAMENTO']).sum()
dpto_reg= dpto_reg.reset_index()
dpto_reg['zscore']= dpto_reg['CAPACIDAD DE GENERACION MW']/dpto_reg['CAPACIDAD DE GENERACION MW'].max()
if (dpto_reg['zscore']<= 0.1).any() == True:
menores = dpto_reg[dpto_reg['zscore']<=0.1].sum()['CAPACIDAD DE GENERACION MW']
cuenta = len(dpto_reg[dpto_reg['zscore']<=0.1])
dpto_reg = dpto_reg.sort_values(by=['CAPACIDAD DE GENERACION MW'])
m = len(dpto_reg['CAPACIDAD DE GENERACION MW'])-cuenta
mayores = dpto_reg['CAPACIDAD DE GENERACION MW'].tail(m)
etiquetas = []
etiquetas.extend(dpto_reg['DEPARTAMENTO'].tail(m).tolist())
nombres = dpto_reg['DEPARTAMENTO'].head(cuenta)
nombres = ','.join(v for v in nombres)
etiquetas.append('OTROS DEPAMENTOS')
y=mayores.to_numpy()
y=np.append(y,menores)
explodea=np.zeros(len(y))
explodea[np.argmin(y)]= 0.4
explodea[np.argmax(y)]= 0.1
else:
y = dpto_reg['CAPACIDAD DE GENERACION MW'].to_numpy()
etiquetas = dpto_reg['DEPARTAMENTO'].tolist()
explodea = np.zeros(len(y))
explodea[np.argmin(y)]= 0.4
explodea[np.argmax(y)]= 0.1
plt.figure(figsize=(4,4))
colorspie=("pink","teal","blueviolet","lightpink")
plt.pie(y, labels=etiquetas,colors=colorspie,autopct='%1.1f%%',shadow=True,explode=explodea,radius=3)
Volumen Útil de Energía GWh
df1 = pd.read_csv('volumenutilenergia.csv', sep=';')
df1
Consumo Energía
df2 = pd.read_csv('consumoenergia.csv', sep=';')
df2
dpto_reg= df2.groupby(['DEPARTAMENTO']).sum()
dpto_reg=dpto_reg.sort_values(by='REGULADO', ascending=False)
dpto_reg= dpto_reg.reset_index()
dpto_reg
dpto_ano= df2.groupby(['DEPARTAMENTO']).sum()
dpto_ano=dpto_ano.sort_values(by='NO REGULADO', ascending=False)
dpto_ano= dpto_ano.reset_index()
dpto_ano
dpto_ano= df2.groupby(['DEPARTAMENTO','AÑO']).sum()
dpto_ano=dpto_ano.sort_values(by='REGULADO', ascending=False)
dpto_ano= dpto_ano.reset_index()
dpto_ano = pd.pivot_table(dpto_ano,columns='DEPARTAMENTO', index='AÑO',values= 'REGULADO')
dpto_ano.plot(kind='bar',stacked=True,figsize=(10,5),cmap='Paired',width=0.5).legend(bbox_to_anchor=(1.0, 1.0))
plt.ylabel("CONSUMO REGULADO GWh")
dpto_ano= df2.groupby(['DEPARTAMENTO','AÑO']).sum()
dpto_ano=dpto_ano.sort_values(by='NO REGULADO', ascending=False)
dpto_ano= dpto_ano.reset_index()
dpto_ano
fig, ax = plt.subplots(figsize = (25, 10))
sns.barplot(x = 'AÑO', y = 'NO REGULADO', data = dpto_ano,hue='DEPARTAMENTO',ax=ax)
dpto_reg= df2.groupby(['DEPARTAMENTO']).sum()
dpto_reg= dpto_reg.reset_index()
dpto_reg['zscore']= dpto_reg['REGULADO']/dpto_reg['REGULADO'].max()
if (dpto_reg['zscore']<= 0.2).any() == True:
menores = dpto_reg[dpto_reg['zscore']<=0.2].sum()['REGULADO']
cuenta = len(dpto_reg[dpto_reg['zscore']<=0.2])
dpto_reg = dpto_reg.sort_values(by=['REGULADO'])
m = len(dpto_reg['REGULADO'])-cuenta
mayores = dpto_reg['REGULADO'].tail(m)
etiquetas = []
etiquetas.extend(dpto_reg['DEPARTAMENTO'].tail(m).tolist())
nombres = dpto_reg['DEPARTAMENTO'].head(cuenta)
nombres = ','.join(v for v in nombres)
etiquetas.append('OTROS DEPARTAMENTOS')
y=mayores.to_numpy()
y=np.append(y,menores)
explodea=np.zeros(len(y))
explodea[np.argmin(y)]= 0.4
explodea[np.argmax(y)]= 0.1
else:
y = dpto_reg['REGULADO'].to_numpy()
etiquetas = dpto_reg['DEPARTAMENTO'].tolist()
explodea = np.zeros(len(y))
explodea[np.argmin(y)]= 0.4
explodea[np.argmax(y)]= 0.1
plt.figure(figsize=(4,4))
colorspie=("pink","teal","blueviolet","lightpink")
plt.pie(y, labels=etiquetas,colors=colorspie,autopct='%1.1f%%',shadow=True,explode=explodea,radius=3)
dpto_reg= df2.groupby(['DEPARTAMENTO']).sum()
dpto_reg= dpto_reg.reset_index()
dpto_reg['zscore']= dpto_reg['NO REGULADO']/dpto_reg['NO REGULADO'].max()
if (dpto_reg['zscore']<= 0.1).any() == True:
menores = dpto_reg[dpto_reg['zscore']<=0.1].sum()['NO REGULADO']
cuenta = len(dpto_reg[dpto_reg['zscore']<=0.1])
dpto_reg = dpto_reg.sort_values(by=['NO REGULADO'])
m = len(dpto_reg['NO REGULADO'])-cuenta
mayores = dpto_reg['NO REGULADO'].tail(m)
etiquetas = []
etiquetas.extend(dpto_reg['DEPARTAMENTO'].tail(m).tolist())
nombres = dpto_reg['DEPARTAMENTO'].head(cuenta)
nombres = ','.join(v for v in nombres)
etiquetas.append('OTROS DEPARTAMENTOS')
y=mayores.to_numpy()
y=np.append(y,menores)
explodea=np.zeros(len(y))
explodea[np.argmin(y)]= 0.4
explodea[np.argmax(y)]= 0.1
else:
y = dpto_reg['NO REGULADO'].to_numpy()
etiquetas = dpto_reg['DEPARTAMENTO'].tolist()
explodea = np.zeros(len(y))
explodea[np.argmin(y)]= 0.4
explodea[np.argmax(y)]= 0.1
plt.figure(figsize=(4,4))
colorspie=("pink","teal","blueviolet","lightpink")
plt.pie(y, labels=etiquetas,colors=colorspie,autopct='%1.1f%%',shadow=True,explode=explodea,radius=3)
Proyectos de Energía y Capacidad
df3 = pd.read_csv('proyectosenergia.csv', sep=';')
df3= df3.sort_values(by='CAPACIDAD (MW)', ascending=False)
df3
df3= df3.sort_values(by='CAPACIDAD (MW)', ascending=False)
df3=df3.reset_index()
df3
Generación SIN
df3 = pd.read_csv('generacionenergia.csv', sep=';')
df3
dpto_gen=df3.groupby(['AÑO']).sum()
dpto_gen=dpto_gen.sort_values(by='GENERACION DE ENERGÍA ELECTRICA SIN', ascending=False)
dpto_gen= dpto_gen.reset_index()
dpto_gen
dpto_ano= df3.groupby(['DEPARTAMENTO','AÑO']).sum()
dpto_ano=dpto_ano.sort_values(by='GENERACION DE ENERGÍA ELECTRICA SIN', ascending=False)
dpto_ano= dpto_ano.reset_index()
dpto_ano = pd.pivot_table(dpto_ano,columns='DEPARTAMENTO', index='AÑO',values= 'GENERACION DE ENERGÍA ELECTRICA SIN')
dpto_ano.plot(kind='bar',stacked=True,figsize=(10,10),cmap='Paired').legend(bbox_to_anchor=(1.0, 1.0))
plt.ylabel('GENERACION ENERGIA ELECTRICA SIN GWh')
dpto_ano= df3.groupby(['DEPARTAMENTO']).sum()
dpto_ano=dpto_ano.sort_values(by='GENERACION DE ENERGÍA ELECTRICA SIN', ascending=False)
dpto_ano= dpto_ano.reset_index()
dpto_ano
dpto_ano= df3.groupby(['DEPARTAMENTO','AÑO']).sum()
dpto_ano=dpto_ano.sort_values(by='GENERACION DE ENERGÍA ELECTRICA SIN', ascending=False)
dpto_ano= dpto_ano.reset_index()
dpto_ano = pd.pivot_table(dpto_ano,columns='DEPARTAMENTO', index='AÑO',values= 'GENERACION DE ENERGÍA ELECTRICA SIN')
dpto_ano
dpto_prod= df3.groupby('DEPARTAMENTO')['GENERACION DE ENERGÍA ELECTRICA SIN'].sum()
dpto_prod= dpto_prod.reset_index()
dpto_prod['zscore']= dpto_prod['GENERACION DE ENERGÍA ELECTRICA SIN']/dpto_prod['GENERACION DE ENERGÍA ELECTRICA SIN'].max()
if (dpto_prod['zscore']<= 0.2).any() == True:
menores = dpto_prod[dpto_prod['zscore']<=0.2].sum()['GENERACION DE ENERGÍA ELECTRICA SIN']
cuenta = len(dpto_prod[dpto_prod['zscore']<=0.2])
dpto_prod = dpto_prod.sort_values(by=['GENERACION DE ENERGÍA ELECTRICA SIN'])
m = len(dpto_prod['GENERACION DE ENERGÍA ELECTRICA SIN'])-cuenta
mayores = dpto_prod['GENERACION DE ENERGÍA ELECTRICA SIN'].tail(m)
etiquetas = []
etiquetas.extend(dpto_prod['DEPARTAMENTO'].tail(m).tolist())
nombres = dpto_prod['DEPARTAMENTO'].head(cuenta)
nombres = ','.join(v for v in nombres)
etiquetas.append('OTROS DEPARTAMENTOS')
y=mayores.to_numpy()
y=np.append(y,menores)
explodea=np.zeros(len(y))
explodea[np.argmin(y)]= 0.4
explodea[np.argmax(y)]= 0.2
else:
y = dpto_prod['GENERACION DE ENERGÍA ELECTRICA SIN'].to_numpy()
etiquetas = dpto_prod['DEPARTAMENTO'].tolist()
explodea = np.zeros(len(y))
explodea[np.argmin(y)]= 0.4
explodea[np.argmax(y)]= 0.2
colorspie=("cadetblue","teal","lightcoral","lightpink","plum","lightblue","cadetblue","mediumpurple","orchid")
plt.pie(y, labels=etiquetas, colors= colorspie, autopct='%1.1f%%',shadow=True)