<jupyter_start><jupyter_text>shape: Return a tuple representing the dimensionality of the DataFrame.<jupyter_code>df.describe()
df.info()
df.rename(columns={'MUNICÍPIO DE RESIDÊNCIA': 'MUNICÍPIODERESIDÊNCIA',
                'CENTRAL DE REGULAÇÃO/RESPONSÁVEL': 'CENTRALDEREGULAÇÃO/RESPONSÁVEL',
                'TEMPO MÉDIO DE ESPERA(DIAS)': 'TEMPOMÉDIODEESPERA(DIAS)',
                'DATA DA SOLICITAÇÃO': 'DATADASOLICITAÇÃO',
                'DESCRIÇÃO DO PROCEDIMENTO': 'DESCRIÇÃODOPROCEDIMENTO',
                'CNES DA CENTRAL EXECUTANTE': 'CNESDACENTRALEXECUTANTE',
                'CNES DA UNIDADE SOLICITANTE': 'CNESDAUNIDADESOLICITANTE'
                }, inplace=True)
df.sample(10)
df.groupby('SERVIÇO').size().sort_values().plot(kind='barh')
df.groupby('MUNICÍPIODERESIDÊNCIA').size().sort_values().tail(20).plot(kind='barh', figsize=(10,10))
df.query('SERVIÇO == "Exame"')['MUNICÍPIODERESIDÊNCIA'].value_counts().head().plot(kind='barh')
df.query('SERVIÇO == "Exame"')['MUNICÍPIODERESIDÊNCIA'].value_counts().head()
df.query('SERVIÇO == "Exame" and MUNICÍPIODERESIDÊNCIA == "PALHOCA"').DOCUMENTO.value_counts().describe()<jupyter_output><empty_output><jupyter_text>Fazendo uma consulta para a coluna SERVIÇO com valor EXAME e para o MUNICÍPIODERESIDÊNCIA com a cidade de PALHOCA. Depois contando quantos DOCUMENTOS existem. Conclusão: existem pessoas que fizeram várias vezes solicitação de EXAME<jupyter_code>df.query('SERVIÇO == "Exame" and MUNICÍPIODERESIDÊNCIA == "PALHOCA"').DOCUMENTO.value_counts().head()<jupyter_output><empty_output><jupyter_text>Existe uma pessoa que solicitou 90 vezes EXAMES<jupyter_code>df.query('DOCUMENTO == 704207709501384')[['DESCRIÇÃODOPROCEDIMENTO','DATADASOLICITAÇÃO', 'CENTRALDEREGULAÇÃO/RESPONSÁVEL', 'POSIÇÃO', 'CNESDACENTRALEXECUTANTE', 'CNESDAUNIDADESOLICITANTE']].sort_values(by='DESCRIÇÃODOPROCEDIMENTO').head(10)<jupyter_output><empty_output><jupyter_text>Para um documento específico, estamos exibindo algumas colunas e ordenando pela DESCRIÇÃO. Conclusão: No mesmo momento (timestamp) houveram solicitações duplicadas e todas são da central de regulação CENTRO DE SAUDE VILA NOVA<jupyter_code>def deduplicate_stats(query=None):
    if query:
        df_tmp = df.query(query)
    else:
        df_tmp = df
    total_rows = len(df_tmp)
    unique_rows = len(df_tmp.groupby(['DOCUMENTO', 'DESCRIÇÃODOPROCEDIMENTO']))
    unique_rows_same_date = len(df_tmp.groupby(['DOCUMENTO', 'DESCRIÇÃODOPROCEDIMENTO', 'DATADASOLICITAÇÃO']))
    reducao_fila = (total_rows - unique_rows) / total_rows
    print('           registros na fila:', total_rows)
    print('    registros únicos na fila:', unique_rows)
    print('          duplicados (total):', total_rows - unique_rows)
    print('duplicados (mesmo timestamp):', total_rows - unique_rows_same_date)
    print('    redução com deduplicação:', int(100*reducao_fila), '%')<jupyter_output><empty_output><jupyter_text>Essa função vai analisar as duplicidades de uma consulta no DataFrame, a partir de uma QUERY<jupyter_code>deduplicate_stats('MUNICÍPIODERESIDÊNCIA == "PALHOCA"')
deduplicate_stats()
deduplicate_stats('MUNICÍPIODERESIDÊNCIA == "FLORIANOPOLIS"')
deduplicate_stats('MUNICÍPIODERESIDÊNCIA == "JOINVILLE"')
df['DESCRIÇÃODOPROCEDIMENTO'].value_counts().to_frame().head(10)<jupyter_output><empty_output><jupyter_text>to_frame(): Convert Series to DataFrame<jupyter_code>df.query('DESCRIÇÃODOPROCEDIMENTO == "CONSULTA EM OFTALMOLOGIA - GERAL"')['MUNICÍPIODERESIDÊNCIA'].value_counts().to_frame().head(10)<jupyter_output><empty_output><jupyter_text>Pacientes de Canelinha, ao solicitar uma consulta em oftalmologia, são direcionadas a 4 centrais executantes diferentes, que possuem tempo de espera entre 34 e 417 dias. Sugestão: rotear as pessoas para centrais com menos pacientes.<jupyter_code>df.query('DESCRIÇÃODOPROCEDIMENTO == "CONSULTA EM OFTALMOLOGIA - GERAL"').groupby(['CÓDIGO SIGTAP DO PROCEDIMENTO', 'MUNICÍPIODERESIDÊNCIA', 'CNESDACENTRALEXECUTANTE', 'TEMPOMÉDIODEESPERA(DIAS)', 'CLASSIFICAÇÃO']).count()[['POSIÇÃO']].query('MUNICÍPIODERESIDÊNCIA == "CANELINHA"')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.12345078979343864, 'fraction_numerical': 0.009720534629404616, 'mean_word_length': 6.580110497237569, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, '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': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '216145', 'license': 'MIT', 'n_tokens_mistral': 1730, 'n_tokens_neox': 1707, 'n_words': 260, 'path': 'old course/exemploMasanori.ipynb', 'repo_name': 'elileal/kungfu_Pandas', 'size': '4115'}