import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import random
import ipywidgets as widgets
from ipywidgets import interact, interactive, fixed, interact_manual
%load_ext autoreload
%autoreload 2
def make_clickable(val):
return f'<a href="{val}">link</a>'
import sys
sys.path.append('/home/ewout/enem_atp/')
from util import load_sample,load_acertos,item_info_inep,item_stats,item_url
sns.set_theme(
context='notebook',
style='darkgrid',
palette='deep',
font='sans-serif',
font_scale=1.3,
color_codes=True,
rc=None,
)
pd.options.display.float_format = '{:,.2f}'.format
Análise dos item#
Aqui analisamos e apresentamos os parâmetros dos itens do ENEM, como foram divulgados pelo INEP (a partir de 2022) (veja … ref)
# rodar primeiro as células da seção Calcular estatísticas TCT dos itens em 00-PrepareData
def istats(ano,area,sort_by='total.r',return_styled=False):
istats = pd.read_csv(f'../data/istats-{ano}-{area}.csv')
istats = istats.drop_duplicates('item')
istats = istats.rename(columns={'CO_POSICAO':'pos','SG_AREA':'area','TX_GABARITO':'gab',
'CO_HABILIDADE':'habilidade','IN_ITEM_ABAN':'aban',
'TX_MOTIVO_ABAN':'motivo','NU_PARAM_A':'a','NU_PARAM_B':'b','NU_PARAM_C':'c',
'TX_COR':'cor','CO_PROVA':'prova','TP_LINGUA':'ling',
'IN_ITEM_ADAPTADO':'adaptado','TP_VERSAO_DIGITAL':'digital'})
istats = istats.sort_values(sort_by)
if return_styled:
return istats.style.format({'url':make_clickable,
'mean':'{:.2f}','sd':'{:.2f}','total.r':'{:.3f}',
'habilidade':'{:.0f}'})
return istats
# istats(2009,'MT')
def item_info(item):
return item_info_inep(item)
areawidg = widgets.Dropdown(
options=['CN','CH','MT'],
value='CN',
description='Area:',
)
anowidg = widgets.Dropdown(
options=range(2009,2023),
value=2022,
description='Ano:',
)
cols = istats(2009,'MT').columns
sbw = widgets.Dropdown(
options=cols,
value='total.r',
description='Sort by:',
)
interact(istats,ano=anowidg,area=areawidg,sort_by=sbw,return_styled=True)
<function __main__.istats(ano, area, sort_by='total.r', return_styled=False)>