<jupyter_start><jupyter_text>Visualizando os dados<jupyter_code>#Visualizando os valores unicos de cada coluna

for col in df.columns:
    print(col, len(df[col].unique()))
    
# A coluna Motivo possui muitos valores unicos, dificultando a analise
df.QtdeSolic.sum()

# 33 milhões de solicitações no total
df.groupby(by='Data').sum()['QtdeSolic'].plot()
plt.title('Serie temporal do nº de solicitações')
plt.ylabel('Nº de solicitações')
plt.show()
f, ax = plt.subplots(1)
df.groupby(by='Mes').sum()['QtdeSolic'].plot()
ax.set_ylim(bottom=0)
# Definindo funções

def groupby_sum(df, column):
    return df.groupby(by=column).sum()['QtdeSolic'].sort_values(ascending=False)

def plot_st(df, column, sub_str_title, top_int):
    " Função filtra o data frame passado para apenas os valores que lideram a lista gerada pelo 'groupby_sum'. Em seguida ela plota a série temporal."
    df_x = df[df[column].isin(groupby_sum(df, column).index[:top_int])]
    df_x.groupby(by=['Data', column]).sum()['QtdeSolic'].unstack().plot()
    plt.title('Nº de solicitações por ' + sub_str_title)
    plt.ylabel('Nº de solicitações')
    return plt.show()
# Solicitações por estado

groupby_sum(df, 'UF')
#pd.pivot_table(data = df, index='Data', columns = 'UF', values = 'QtdeSolic')

plot_st(df, 'UF', 'estado', 5)
groupby_sum(df, 'Ano')
# Total solicitações por empresa

groupby_sum(df, 'GrupoEconNorm')

plot_st(df, 'GrupoEconNorm', 'empresa', 2)
# solicitacoes por servicos das solicitacoes

groupby_sum(df, 'Servico')
#df.groupby(by='Servico').sum()['QtdeSolic'].sort_values(ascending=False)

plot_st(df, 'Servico', 'serviço', 3)
# Modalidades das solicitacoes

groupby_sum(df, 'Modalidade')

# Valores muito difusos
plot_st(df, 'Modalidade', 'modalidade', 3)

# Reclamacoes sao 94% dos tipos de solicitacoes
# Motivo das solicitacoes

groupby_sum(df, 'Motivo')

#df_motivo = df.groupby(by='Motivo').sum()['QtdeSolic'].sort_values(ascending=False)

#df.Motivo.value_counts(normalize=True, dropna=False).head(10)
plot_st(df, 'Motivo', 'motivo', 3)
groupby_sum(df, 'CanalEntrada')
plot_st(df, 'CanalEntrada', 'canal', 3)
reclamacao_ano = tipos_ano_df[tipos_ano_df.Tipo == 'Reclamação']
type(reclamacao_ano)
reclamacao_ano.index
tipos_ano_df[tipos_ano_df.Tipo == 'Pedido de Informação']
print('Fatia de Reclamacoes no total de tipo de solicitacoes')
print("\n")
print('2006 ', reclamacao_ano.loc[2006, 'Contagem'], ' ou ', (reclamacao_ano.loc[2006, 'Contagem']*100), '% do total')
print('2019 ', reclamacao_ano.loc[2019, 'Contagem'], ' ou ', (reclamacao_ano.loc[2019, 'Contagem']*100), '% do total')
print("\n")
print('Variacao total e de ', reclamacao_ano.loc[2019, 'Contagem'] - reclamacao_ano.loc[2006, 'Contagem'], \
     ' ou ', (reclamacao_ano.loc[2019, 'Contagem'] - reclamacao_ano.loc[2006, 'Contagem'])*100, '% do total')
ped_info_ano = tipos_ano_df[tipos_ano_df.Tipo == 'Pedido de Informação']
print('Fatia de Pedido de Informação no total de tipo de solicitacoes')
print("\n")
print('2006 ', ped_info_ano.loc[2006, 'Contagem'], ' ou ', (ped_info_ano.loc[2006, 'Contagem']*100), '% do total')
print('2019 ', ped_info_ano.loc[2019, 'Contagem'], ' ou ', (ped_info_ano.loc[2019, 'Contagem']*100), '% do total')
print("\n")
print('Variacao total e de ', ped_info_ano.loc[2019, 'Contagem'] - ped_info_ano.loc[2006, 'Contagem'], \
     ' ou ', (ped_info_ano.loc[2019, 'Contagem'] - ped_info_ano.loc[2006, 'Contagem'])*100, '% do total')
import seaborn as sns
sns.scatterplot(reclamacao_ano.Contagem, ped_info_ano.Contagem)

import numpy as np
r = np.corrcoef(reclamacao_ano.Contagem, ped_info_ano.Contagem)
r[1,0]
r = np.corrcoef(reclamacao_ano.Contagem, tipos_ano_df[tipos_ano_df.Tipo == 'Denúncia'].Contagem)
r[1,0]<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.16447897133672648, 'fraction_numerical': 0.031074203053844094, 'mean_word_length': 6.528225806451613, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '36727', 'license': 'MIT', 'n_tokens_mistral': 1596, 'n_tokens_neox': 1475, 'n_words': 296, 'path': 'Solicitacoes ANATEL.ipynb', 'repo_name': 'gabrielgomes0311/Solicitacoes-ANATEL', 'size': '3733'}