Um projeto de saúde utiliza a biblioteca Pandas, em Python, ...

Próximas questões
Com base no mesmo assunto
Q2383249 Programação
Um projeto de saúde utiliza a biblioteca Pandas, em Python, para analisar dados biométricos. O conjunto de dados é trabalhado em um DataFrame chamado saude_df, com várias colunas representando medidas típicas de saúde, como o peso e a pressão arterial. Cada linha representa o valor dessas medidas para uma pessoa.
Para selecionar aleatoriamente 20% das linhas do DataFrame e apenas as colunas Peso e Pressão Arterial, pode ser usada a expressão
Alternativas

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