Roj / corrector

Sistema de corrección automática para ejercicios de Spark y Pandas.
MIT License
0 stars 2 forks source link

[BUG] #2

Open sergiolch opened 5 years ago

sergiolch commented 5 years ago

Descripción del bug No evalua el codigo python del ejercicio 4

Pasos para reproducirlo

  1. Ir a a la página.

http://186.136.137.190/guia/Pandas

  1. Escribir el código.
datos.replace(r'\s+', 0, regex=True, inplace=True)
datos.replace('s/d', 0, inplace=True)
datos.replace('S/D', 0, inplace=True)
datos.replace('<0,05', 0, inplace=True)
datos['CO_CENTENARIO'] = datos['CO_CENTENARIO'].str.replace(',','.').astype('float32')

datos['FECHA'] = pd.to_datetime(datos['FECHA'], dayfirst=True)
datos['mes'] = datos['FECHA'].dt.month_name()
datos['mes_num'] = datos['FECHA'].dt.month

contaminacio_pro = datos['CO_CENTENARIO'].mean()
grouped = datos.groupby(['mes','mes_num']).agg({'CO_CENTENARIO':'mean'})
grouped.reset_index(inplace=True)
grouped.sort_values(by='mes_num',ascending=True, inplace=True)
datos = grouped.loc[grouped['CO_CENTENARIO']>contaminacio_pro,['mes']]
  1. Enviar.
  2. Ver error

error en consola 500 INTERNAL SERVER ERROR

Comportamiento esperado

mostrar el resultado del ejercicio 4 o si hubo un error

Salida en la consola

Funcion llamada!
Pandas:270 datos = datos.head(5)
Pandas:270 datos = pd.merge(datos1,datos2,how='inner',on='compositor')
datos = datos.groupby('movimiento').agg({'cantidad_horas':'sum'})

Pandas:270 datos.replace(r'\s+', 0, regex=True, inplace=True)
datos.replace('s/d', 0, inplace=True)
datos.replace('S/D', 0, inplace=True)
datos.replace('<0,05', 0.5, inplace=True)
datos['HORA'] = datos['HORA'].astype('int32')
datos['CO_CENTENARIO'] = datos['CO_CENTENARIO'].str.replace(',','.').astype('float32')
datos['NO2_CENTENARIO'] = datos['NO2_CENTENARIO'].str.replace(',','.').astype('float32')
datos['PM10_CENTENARIO'] = datos['PM10_CENTENARIO'].str.replace(',','.').astype('float32')
datos['CO_CORDOBA'] = datos['CO_CORDOBA'].str.replace(',','.').astype('float32')
datos['NO2_CORDOBA'] = datos['NO2_CORDOBA'].str.replace(',','.').astype('float32')
datos['PM10_CORDOBA'] = datos['PM10_CORDOBA'].str.replace(',','.').astype('float32')
datos['CO_LA_BOCA'] = datos['CO_LA_BOCA'].str.replace(',','.').astype('float32')
datos['NO2_LA_BOCA'] = datos['NO2_LA_BOCA'].str.replace(',','.').astype('float32')
datos['PM10_LA_BOCA'] = datos['PM10_LA_BOCA'].str.replace(',','.').astype('float32')

grouped  = datos.groupby('HORA').mean()
grouped['0'] = grouped['CO_CENTENARIO'] + grouped['NO2_CENTENARIO'] + grouped['PM10_CENTENARIO'] + grouped['CO_CORDOBA'] + grouped['NO2_CORDOBA'] + grouped['PM10_CORDOBA'] + \
    grouped['CO_LA_BOCA'] + grouped['NO2_LA_BOCA'] + grouped['PM10_LA_BOCA']
grouped = grouped[['0']]
datos = grouped.sort_values(by='0', ascending=False)

Pandas:270 datos.replace(r'\s+', 0, regex=True, inplace=True)
datos.replace('s/d', 0, inplace=True)
datos.replace('S/D', 0, inplace=True)
datos.replace('<0,05', 0.5, inplace=True)

datos['CO_CENTENARIO'] = datos['CO_CENTENARIO'].str.replace(',','.').astype('float32')

datos['FECHA'] = pd.to_datetime(datos['FECHA'], dayfirst=True)
datos['mes'] = datos['FECHA'].dt.month_name()
datos['mes_num'] = datos['FECHA'].dt.month

contaminacio_pro = datos['CO_CENTENARIO'].mean()
grouped = datos.groupby(['mes','mes_num']).agg({'CO_CENTENARIO':'mean'})
grouped.reset_index(inplace=True)
grouped.sort_values(by='mes_num',ascending=True, inplace=True)
datos = grouped.loc[grouped['CO_CENTENARIO']>contaminacio_pro,['mes']]

Pandas:270 #tu código va acá
jquery.min.js:2 POST http://186.136.137.190/guia/Pandas/entregar 500 (INTERNAL SERVER ERROR)
send @ jquery.min.js:2
ajax @ jquery.min.js:2
enviarDatos @ Pandas:273
onsubmit @ Pandas:103
jquery.min.js:2 {readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …} "error" "INTERNAL SERVER ERROR"

Navegador:

Roj commented 5 years ago

Hola Sergio,

muchísimas gracias por el bug report! El error que muestra el servidor es que hay un índice que está en la salida obtenida y no en la esperada. Tengo que pensar si es realmente necesario revisar los índices (porque muchos ejercicios esperan un orden en particular en realidad), y en el caso positivo ver de evitar estos casos (aclarando cómo deben ser en el enunciado) o manejarlos explícitamente mostrando un error apropiado.

El finde mando un commit arreglando esto.

Gracias de nuevo! Saludos, Joaquín