analise module#

analise.calcular_medias_regiao_ano(df: DataFrame) DataFrame[código fonte]#

Calcula as médias das notas por ano e região.

Parâmetros#

dfpd.DataFrame

DataFrame contendo os dados das notas.

Retorna#

pd.DataFrame

DataFrame com as médias por ano e região.

Raises#

ValueError

Se o DataFrame não tem todas as colunas necessárias

Exemplo#

>>> data = {'NU_ANO': [2021, 2021, 2022, 2022, 2023],
...         'SG_UF_PROVA': ['SP', 'RJ', 'SP', 'RJ', 'SP'],
...         'media': [7.5, 8.0, 7.8, 8.2, 7.9]}
>>> df = pd.DataFrame(data)
>>> calcular_medias_regiao_ano(df)
        Sudeste  Média Brasil
NU_ANO                       
2021       7.75          7.75
2022       8.00          8.00
2023       7.90          7.90
analise.media(df: DataFrame) DataFrame[código fonte]#

Calcula a média de colunas específicas e adiciona-a ao DataFrame.

Parâmetros#

df: pd.DataFrame

O DataFrame que você deseja modificar.

Retorna#

pd.DataFrame:

O DataFrame modificado com a nova coluna de médias.

Exemplo#

>>> import pandas as pd
>>> data = {'NU_NOTA_CN': [75, 85, 90, 88, 92],
...         'NU_NOTA_CH': [80, 78, 92, 87, 88],
...         'NU_NOTA_LC': [92, 89, 78, 90, 85],
...         'NU_NOTA_MT': [87, 90, 85, 88, 92],
...         'NU_NOTA_REDACAO': [88, 92, 85, 90, 87]}
>>> df = pd.DataFrame(data)
>>> media(df)
   NU_NOTA_CN  NU_NOTA_CH  NU_NOTA_LC  NU_NOTA_MT  NU_NOTA_REDACAO  media
0          75          80          92          87               88   84.4
1          85          78          89          90               92   86.8
2          90          92          78          85               85   86.0
3          88          87          90          88               90   88.6
4          92          88          85          92               87   88.8
analise.media_internet(df: DataFrame) DataFrame[código fonte]#

Calcula a média de colunas específicas para linhas com «A» e «B» na coluna «Q025» e retorna um DataFrame com a média dessas médias.

Parâmetros#

dfpd.DataFrame

O DataFrame que você deseja modificar.

Retorna#

pd.DataFrame

Um DataFrame com a média das colunas «media_A» e «media_B».

Raises#

ValueError

Se a coluna Q025 não pertence ao DataFrame dado.

Exemplo#

>>> import pandas as pd
>>> data = {'Q025': ['A', 'A', 'B', 'A', 'B'],
...         'NU_NOTA_CN': [75, 85, 90, 88, 92],
...         'NU_NOTA_CH': [80, 78, 92, 87, 88],
...         'NU_NOTA_LC': [92, 89, 78, 90, 85],
...         'NU_NOTA_MT': [87, 90, 85, 88, 92],
...         'NU_NOTA_REDACAO': [88, 92, 85, 90, 87]}
>>> df = pd.DataFrame(data)
>>> media_internet(df)
   media_sem_internet  media_com_internet
0                86.6                87.4
analise.media_por_area_de_conhecimento(df: DataFrame) DataFrame[código fonte]#

Calcula a média das notas por área de conhecimento e cria um DataFrame.

Parâmetros#

dfpd.DataFrame

Um DataFrame contendo as notas por área de conhecimento.

Retorna#

pd.DataFrame

Um DataFrame contendo a média das notas por área de conhecimento, com as seguintes colunas: «CN», «CH», «LC», «MT», «RD» (Ciências da Natureza, Ciências Humanas, Linguagens e Códigos, Matemática, Redação).

Exemplo#

>>> import pandas as pd
>>> data = {'NU_NOTA_CN': [650.0, 720.0, 680.0],
...         'NU_NOTA_CH': [700.0, 680.0, 720.0],
...         'NU_NOTA_LC': [710.0, 690.0, 730.0],
...         'NU_NOTA_MT': [720.0, 710.0, 690.0],
...         'NU_NOTA_REDACAO': [800, 750, 820]}
>>> df = pd.DataFrame(data)
>>> media_por_area_de_conhecimento(df)
           CN     CH     LC          MT     RD
0  683.333333  700.0  710.0  706.666667  790.0
analise.nota_1000_ano(df: DataFrame, anos: list) DataFrame[código fonte]#

Toma o DataFrame e retorna um DataFrame com os anos e a quantidade de notas 1000

Parâmetros#

df : pd.DataFrame

anolist

Cada valor da lista deve ser um ano do qual você quer saber a nota 1000

Retorna#

pd.DataFrame

As linhas do DataFrame são os anos escolhidos e a única coluna a quantidade de notas 1000 neste ano

Raises#

ValueError

Se as colunas “NU_NOTA_REDACAO” e “NU_ANO” não estiverem presentes no DataFrame.

Exemplo#

>>> import pandas as pd
>>> data = {'NU_ANO': [2020, 2020, 2020, 2021, 2021],
...         'NU_NOTA_REDACAO': [1000, 900, 1000, 1000, 950]}
>>> df = pd.DataFrame(data)
>>> anos_para_verificar = [2020, 2021]
>>> nota_1000_ano(df, anos_para_verificar)
   NU_ANO  Quantidade de notas 1000
0    2020                         2
1    2021                         1
analise.nota_unificada_por_estado_e_ano(df: DataFrame) DataFrame[código fonte]#

Calcula a média das notas por estado em um DataFrame, também separado por ano.

Parâmetros#

dfpd.DataFrame

O DataFrame contendo colunas de estados, anos e as médias de cada participante.

Retorna#

pd.DataFrame

Um novo DataFrame que contém as médias das notas, os estados correspondentes e, opcionalmente, os anos.

Exemplo#

>>> data = {'SG_UF_PROVA': ['MG', 'SP', 'RJ', 'MG', 'SP', 'MG'],
...         'NU_ANO': [2020, 2020, 2021, 2021, 2021, 2021],
...         'media': [80, 85, 90, 78, 88, 92]}
>>> df = pd.DataFrame(data)
>>> medias_df = nota_unificada_por_estado_e_ano(df)
>>> print(medias_df)
  SG_UF_PROVA  NU_ANO  Nota_unificada
0          MG    2020            80.0
1          MG    2021            85.0
2          RJ    2021            90.0
3          SP    2020            85.0
4          SP    2021            88.0
analise.renda_media_per_capita_familiar(df: DataFrame, colunas_extras: list) DataFrame[código fonte]#

Calcula a renda média per capita familiar de cada participante.

Parâmetros#

dfpd.DataFrame

DataFrame contendo a coluna «Q006» (letras) e a coluna «Q005» (números).

colunas_extraslist

Lista com o nome das colunas que você quer que permaneçam no novo DataFrame.

Retorna#

pd.DataFrame

Retorna um novo DataFrame com a coluna de renda per capita e as colunas citadas em colunas_extras.

Raises#

ValueError

Se o DataFrame não contiver as colunas «Q006» e «Q005».

KeyError

Se os nomes das colunas não existirem no DataFrame

TypeError

se o tipo de argumento dado for errado7

Exemplo#

>>> import pandas as pd
>>> data = {'Q006': ['A', 'B', 'C', 'D'],
...         'Q005': [1, 2, 3, 4],
...         'Outra_Coluna': ['X', 'Y', 'Z', 'W']}
>>> df = pd.DataFrame(data)
>>> colunas_extras = ['Outra_Coluna']
>>> renda_media_per_capita_familiar(df, colunas_extras)
   Renda_Per_Capita Outra_Coluna
0          0.000000            X
1        249.500000            Y
2        415.833333            Z
3        436.625000            W
analise.renda_unificada_por_estado(df: DataFrame) DataFrame[código fonte]#

Calcula a média unificada das rendas per capita familiar por estado.

Parâmetros#

dfpd.DataFrame

DataFrame contendo as colunas «SG_UF_PROVA» (código do estado) e «Renda_Per_Capita» (média da renda per capita).

Retorna#

pd.DataFrame

Retorna um novo DataFrame com a coluna «SG_UF_PROVA» e a média unificada de renda por estado (coluna «Renda_Unificada»).

Raises#

ValueError

Se o DataFrame não contiver as colunas «SG_UF_PROVA» e «Renda_Per_Capita.»

Exemplo#

>>> df_exemplo = pd.DataFrame({
...     'SG_UF_PROVA': [1, 2, 1, 2],
...     'Renda_Per_Capita': [500, 600, 700, 800],
...     'Outra_Coluna': [10, 20, 30, 40]
... })
>>> resultado = renda_unificada_por_estado(df_exemplo)
>>> print(resultado)
   SG_UF_PROVA  Renda_unificada
0            1            600.0
1            2            700.0
analise.separar_regiao(df: DataFrame, regiao: str) DataFrame[código fonte]#

Toma o DataFrame e o filtra de acordo com a região escolhida

Parâmetros#

dfpd.DataFrame

DataFrame original

regiaostr

Uma das cinco regiões brasileiras

Retorna#

pd.DataFrame

DataFrame filtrado pela região escolhida

Raises#

ValueError

Se a entrada fornecida não for uma região válida

Exemplo#

>>> import pandas as pd
>>> data = {'SG_UF_PROVA': ['AM', 'SP', 'BA', 'SC', 'GO', 'RS'],
...         'OutrosDados': [1, 2, 3, 4, 5, 6]}
>>> df = pd.DataFrame(data)
>>> separar_regiao(df, 'sudeste')
  SG_UF_PROVA  OutrosDados
1          SP            2
analise.separar_ufs_e_anos(df: DataFrame, ufs: list, anos: list) DataFrame[código fonte]#

Toma o DataFrame e o filtra por qualquer quantidade de estados e anos.

Parâmetros#

dfpd.DataFrame

DataFrame original

ufslist

Lista com estados que queira separar do DataFrame original. Os estados devem ser escritos pela sigla UF.

anoslist

Lista com anos que queira separar do DataFrame original.

Retorna#

pd.DataFrame

DataFrame filtrado pelos estados e anos escolhidos.

Raises#

ValueError

Se a entrada fornecida não tiver estados ou anos válidos.

Exemplo#

>>> import pandas as pd
>>> data = {'SG_UF_PROVA': ['SP', 'RJ', 'MG', 'SP', 'RJ'],
...         'NU_ANO': [2020, 2020, 2021, 2021, 2021],
...         'Nota': [70, 80, 90, 85, 95]}
>>> df = pd.DataFrame(data)
>>> estados_para_filtrar = ['SP', 'MG']
>>> anos_para_filtrar = [2021]
>>> separar_ufs_e_anos(df, estados_para_filtrar, anos_para_filtrar)
  SG_UF_PROVA  NU_ANO  Nota
2          MG    2021    90
3          SP    2021    85