Um projeto de saúde utiliza a biblioteca Pandas, em Python, ...
Para selecionar aleatoriamente 20% das linhas do DataFrame e apenas as colunas Peso e Pressão Arterial, pode ser usada a expressão
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a E: saude_df.sample(frac=0.2)[['Peso', 'Pressão Arterial']]
.
Vamos entender melhor por que essa alternativa é a correta e por que as outras alternativas estão incorretas.
Análise da Alternativa Correta:
A expressão saude_df.sample(frac=0.2)
seleciona aleatoriamente 20% das linhas do DataFrame saude_df
. A função .sample()
é utilizada para amostrar aleatoriamente um percentual ou um número fixo de linhas de um DataFrame.
O argumento frac=0.2
especifica que queremos selecionar 20% das linhas. Depois de obter essas linhas, utilizamos a notação de colchetes duplos [['Peso', 'Pressão Arterial']]
para selecionar as colunas específicas que nos interessam, no caso, as colunas 'Peso' e 'Pressão Arterial'.
Agora, vejamos por que as outras alternativas estão incorretas:
Alternativa A: saude_df['Peso', 'Pressão Arterial'].sample(0.2)
Esta alternativa está incorreta porque a sintaxe saude_df['Peso', 'Pressão Arterial']
não é válida para selecionar múltiplas colunas em um DataFrame. Para selecionar múltiplas colunas, devemos usar colchetes duplos, como saude_df[['Peso', 'Pressão Arterial']]
. Além disso, o método .sample()
está sendo utilizado com um argumento numérico, o que não é correto. O argumento deve ser frac
para indicar uma fração do DataFrame.
Alternativa B: saude_df[['Peso', 'Pressão Arterial']].sample(0.2)
Embora a seleção de colunas esteja correta com a notação de colchetes duplos, a função .sample(0.2)
está incorreta, pois o argumento passado para .sample()
deve ser frac=0.2
para indicar a fração desejada do DataFrame.
Alternativa C: saude_df.sample(0.2)['Peso', 'Pressão Arterial']
Esta alternativa está incorreta por dois motivos. Primeiro, o uso de .sample(0.2)
em vez de frac=0.2
está errado. Segundo, a tentativa de acessar múltiplas colunas usando a notação de colchetes simples não é correta. Precisamos usar colchetes duplos para selecionar mais de uma coluna.
Alternativa D: saude_df.sample(frac=0.2)['Peso', 'Pressão Arterial']
Aqui, o método .sample(frac=0.2)
está correto, mas a seleção das colunas 'Peso' e 'Pressão Arterial' utilizando colchetes simples ['Peso', 'Pressão Arterial']
está incorreta. Como mencionado anteriormente, para selecionar múltiplas colunas, devemos usar colchetes duplos [['Peso', 'Pressão Arterial']]
.
Em resumo, a alternativa E é a correta porque utiliza a função .sample()
com o argumento frac=0.2
para selecionar aleatoriamente 20% das linhas do DataFrame e, em seguida, usa a notação de colchetes duplos para selecionar as colunas específicas de interesse.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A resposta correta é a opção e: .
Para selecionar aleatoriamente 20% das linhas fazer DataFrame e apenas como colunas 'Peso' e 'Pressão Arterial', você deve usar a função fazer Pandas, seguida da seleção das colunas desejadas.
Portanto, a resposta correta é:
e -
como não se trata de um array unidimensional, a resposta precisaria apresentar um array dentro de dois colchetes, com essa informação já daria pra eliminar as alternativas a, c e d
A alternativa correta é a letra E. Vamos entender por que:
- seleciona aleatoriamente 20% das linhas do DataFrame .
- Em seguida, é usado para selecionar apenas as colunas 'Peso' e 'Pressão Arterial' do DataFrame amostrado.
Portanto, a expressão faz exatamente o que é necessário: seleciona aleatoriamente 20% das linhas do DataFrame e, em seguida, seleciona apenas as colunas 'Peso' e 'Pressão Arterial'.
Dessa forma, a alternativa correta é de fato a letra E.
sample() é usado para gerar uma amostra de linha ou coluna aleatória a partir do quadro de dados do chamador de função.
Como foi citado pela Maria Tereza Clemente, por se tratar de um DataFrame e não um array unidimensional é necessário usar dois colchetes [[coluna1,coluna2]]
A sintaxe correta é usar o nome do DataFrame, um ponto e depois o sample(). Tem vários parâmetros que podem ser usados no sample(), mas nesse caso foi optado pelo frac.
SINTAXE:
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
Portanto, a letra E é o gabarito
saude_df.sample(frac=0.2)[['Peso', 'Pressão Arterial']]
Fonte: https://geeksforgeeks.org/python-pandas-dataframe-sample/
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo