<jupyter_start><jupyter_text>**Importação de bibliotecas e base de dados**<jupyter_code>import pandas as pd

url_dados = 'https://github.com/alura-cursos/imersaodados3/blob/main/dados/dados_experimentos.zip?raw=true'

dados = pd.read_csv(url_dados, compression = 'zip')
dados<jupyter_output><empty_output><jupyter_text>**Filtrando o DataFrame**<jupyter_code>dados.head()
# O número de linhas e colunas da matriz
dados.shape
# O método describe adquiri valores númericos de fórmulas como média, mínimo, máximo, porcentagem etc
dados.describe()<jupyter_output><empty_output><jupyter_text>**Análise dos Valores de Categorias das Variáveis**<jupyter_code>dados['tratamento'] #Exibi todos os registros presentes da coluna especificada.  
dados['tratamento'].unique() #A função unique() exibi apenas os registros que contêm na coluna especificada.
dados['tempo'].unique() # A coluna especificada é o tempo de exposição da célula ao remédio consumido.
dados['dose'].unique() # D1 e D2 é uma especulação inicial de ter uma dose maior e uma dose menor
dados['droga'].unique() #Esses dados não podem ser analisados por esse vies ter muitos dados diferentes 
dados['g-0'].unique() #Essa lista está voltando todos os tipos de genes testados ao tempo de exposição a droga<jupyter_output><empty_output><jupyter_text>**Tratamento**<jupyter_code>dados['tratamento'].value_counts()
dados_filtrados = dados[dados['g-0'] > 0]
dados_filtrados.head()<jupyter_output><empty_output><jupyter_text>**Desafios**  Desafio 01 - Porque, existe tantas diferenças no tratamento de pacientes com drogas e sem drogas?<jupyter_code>tratamento_com_controle = dados.query('tratamento=="com_controle"')
drogas_de_controle = tratamento_com_controle.droga
quantidade_de_experimentos_com_controle = len(drogas_de_controle)
quantidade_drogas = len(dados['droga'].unique()) - 1 
razao_drogas_controle = quantidade_de_experimentos_com_controle / quantidade_drogas
razao_drogas_controle<jupyter_output><empty_output><jupyter_text>02 Desafio - Encontrar as últimas 5 linhas da tabela<jupyter_code>dados.tail(5)<jupyter_output><empty_output><jupyter_text>Desafio 03 - Qual a proporção da coluna tratamento? (1 Forma)<jupyter_code># A definição de razão ou proporção entre dois números é o quociente entre eles na
# ordem em que são dados. Sejam a e b dois números racionais, em que b é diferente 
# de 0.

# Primeiramente, encontra-se o valor da quantidade de linhas e colunas com atributo shape
dados.shape

# Segundo, verifica qual é a frequência absoluta da coluna 'tratamento' e filtra os valores específicos referentes ao tratamento (nome & frequência).
dados['tratamento'].value_counts()

#Terceiro cria-se váriveis com a fórmula de razão e exibimos o valor  dos pacientes que foram diagnosticados com uso das drogas fornecidas
droga_fr = 21948 / 23813
controle_fr = 1866 / 23813
print(f'freqência relativa droga: {droga_fr:.3f} \nfrequência relativa controle: {controle_fr:.3f}')<jupyter_output>freqência relativa droga: 0.922 
frequência relativa controle: 0.078<jupyter_text>Desafio 03 - Qual a proporção da coluna tratamento? (2 Forma)<jupyter_code>#Categoria da coluna Tratamento : Contagem
dados.value_counts('tratamento')
#A segunda forma de fazer o desafio 3 é normalizando os valores da coluna
dados.tratamento.value_counts(normalize=True)
dados['tratamento'].value_counts().plot.bar()
dados['tratamento'].value_counts().plot.pie()
dados['tempo'].value_counts().plot.pie()
dados['tempo'].value_counts().plot.bar()<jupyter_output><empty_output><jupyter_text>Desafio 04 - Quantos tipos de drogas foram investigadas?<jupyter_code>dados['droga'].value_counts()<jupyter_output><empty_output><jupyter_text>2 Forma de resolução<jupyter_code>droga_id = dados[['droga']].drop_duplicates().set_index('droga')
print(f'Quantidade de drogas testadas é: {droga_id.shape[0]}.')<jupyter_output>Quantidade de drogas testadas é: 3289.<jupyter_text>3 Forma de resolução<jupyter_code>droga_id = len(dados['droga'].unique())
print(f'A quantidade de drogras testadas é: {droga_id}.')<jupyter_output>A quantidade de drogras testadas é: 3289.<jupyter_text>4 Forma de resolução<jupyter_code>drogas_id = dados['droga'].drop_duplicates().count()
print(f'A quantidade de drogras testadas é: {droga_id}.')<jupyter_output>A quantidade de drogras testadas é: 3289.<jupyter_text>Desafio 05 - Procurar na documentação sobre o método Query[texto do link](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.query.html?highlight=querypandas.DataFrame.query)  Desafio 06 - Renomear as colunas g-0, mas tirando o hífen<jupyter_code>dados.columns = [col.replace("-", "") for col in dados.columns]
dados
dados.head()<jupyter_output><empty_output><jupyter_text>Desafio 07 - Deixar os gráficos bonitões(Matplotlib.pyplot)<jupyter_code>dados['tempo'].value_counts().plot.bar(title = "O número total de amostras pelo tempo de dosagem das drogas", 
xlabel = "Tempo", ylabel = "Quantidade de amostras" , color = ["purple", "pink", "yellow"])<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10789210789210789, 'fraction_numerical': 0.014985014985014986, 'mean_word_length': 7.357262103505843, 'pattern_counts': {'":': 0, '<': 53, '<?xml version=': 0, '>': 54, 'https://': 2, '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': '14', 'dir': 'jupyter-structured-clean-dedup', 'id': '293588', 'license': 'MIT', 'n_tokens_mistral': 1938, 'n_tokens_neox': 1860, 'n_words': 434, 'path': 'Aula_01.ipynb', 'repo_name': 'ThiagoTassinari/ImersaoTech-Alura', 'size': '5005'}