Baixe o app para aproveitar ainda mais
Prévia do material em texto
PYTHON AVANÇADO ESP ► Avaliação ► PROVA Data de inicio quinta, 28 Jul 2022, 17:21 Estado Finalizada Data de conclusão quinta, 28 Jul 2022, 18:58 Tempo empregado 1 hora 37 minutos Nota 4,80 de um máximo de 8,00(60%) https://moodle.universoead.com.br/course/view.php?id=1077 https://moodle.universoead.com.br/mod/quiz/view.php?id=24029 Questão 1 Correto Atingiu 0,80 de 0,80 É legal para uma função chamar outra; também é legal para uma função chamar a si própria. Pode não ser óbvio porque isso é uma coisa boa, mas na verdade é uma das coisas mais mágicas que um programa pode fazer. DOWNEY, Allen B.; EM PYTHON. Pense como um cientista da computação. São Paulo: Novatec, 2016. Considerando os conceitos de programação recursiva é correto a�rmar que: I. Uma função que chama outra função com uma declaração diferente a ela é dita função recursiva II. Uma função que chama a si mesma é dita recursiva III. Uma função que chama a si mesma é dita função de currying IV. O processo de executar uma função recursiva é chamado de recursividade É correto o que se a�rma em: Escolha uma: a. I. b. I e II c. III e IV d. II e IV e. I, II, III, IV Sua resposta está correta. Feedback: Correta d. DOWNEY, Allen B.; EM PYTHON, Pense. pense como um cientista da computação. São Paulo: Novatec, 2016. A�rma que uma função que chama a si mesma é dita recursiva; o processo para executá-la é a recursividade. A criação de funções Currying é a transformação de uma função com vários argumentos em uma sequência de funções de argumento único. A resposta correta é: II e IV. Questão 2 Correto Atingiu 0,80 de 0,80 A biblioteca Matplotlib tem como objetivo gerar visualizações informativas, chamadas de plotagens. Este passo é uma das tarefas mais importantes em análise de dados. Essa tarefa faz parte do processo exploratório, para ajudar a identi�car valores discrepantes (outliers) ou transformações necessárias nos dados, ou como uma forma de gerar ideias modelos. MCKINNEY, Wes. Python para análise de dados: Tratamento de dados com Pandas, NumPy e IPython. Novatec Editora, 2019. Sobre a plotagem de grá�cos com pandas e Matplotlib, assinale a alternativa correta. Escolha uma: a. por padrão da o método plot() do DataFrame e Series invoca a biblioteca Matplotlib exibindo grá�co de linhas. b. por padrão o eixo x do gŕ�co de um DataFrame é a primeira coluna. c. o parâmetro xticker desabilita o uso do index como pardẽo para o eixo x. d. o método plot de DataFrame plota cada uma de suas linhas como como barras. e. o método plot da Series plota a legenda do grá�co automaticamente. Sua resposta está correta. Feedback: Correta a. MCKINNEY, Wes. Python para análise de dados: Tratamento de dados com Pandas, NumPy e IPython. Novatec Editora, 2019. Series e DataFrame têm um atributo de plotagem para fazer alguns tipos básicos de plotagem. Por padrão, plot() faz grá�cos de linha. O índice do objeto Series é passado para matplotlib para plotagem no eixo x, embora você possa desabilitar isso passando use_index=False . Os ticks e limites do eixo x podem ser ajustados com as opções xticks e xlim, e o eixo y respectivamente com yticks e ylim. A maioria dos métodos de plotagem dos pandas aceita um parâmetro opcional ax, que pode ser um objeto subplot matplotlib. Isso oferece um posicionamento mais �exível de subtramas em um layout de grade. O método de plotagem do DataFrame plota cada uma de suas colunas como uma linha diferente na mesma subtrama, criando uma legenda automaticamente Questão 3 Correto Atingiu 0,80 de 0,80 A resposta correta é: por padrão da o método plot() do DataFrame e Series invoca a biblioteca Matplotlib exibindo grá�co de linhas.. De forma geral, escreva funções puras sempre que achar razoável e recorra a modi�cadores só se houver alguma vantagem clara. Esta abordagem pode ser chamada de programação funcional. DOWNEY, Allen B.; EM PYTHON, Pense como um cientista da computação. São Paulo: Novatec, 2016. Sobre programação funcional é correto a�rmar: Escolha uma: a. A programação funcional é um dialeto da programação imperativa. b. A programação funcional representa o um modo de programação para IA (inteligência Arti�cial). c. O objetivo da programação funcional é simular funções matemáticas. d. Com programação funcional podemos passar uma função como argumento para outra função . e. O termo closure é usado para representar funções puras. Sua resposta está correta. Feedback: Correta c. SEBESTA, Robert W. Conceitos de Linguagem de Programação. 4º edição. 2000. A programação funcional decompõe um problema em um conjunto de funções. Idealmente, as funções apenas recebem entradas e produzem saídas, e não têm nenhum estado interno que afete a saída produzida para uma determinada entrada. O objetivo da programação funcional é simular funções matemáticas. Esse objetivo resulta em uma abordagem para a solução de problemas fundamentalmente diferente de abordagens usadas com linguagens imperativas. A resposta correta é: O objetivo da programação funcional é simular funções matemáticas.. Questão 4 Incorreto Atingiu 0,00 de 0,80 Usar o símbolo @ é equivalente a chamar o decorador na função que ele envolve e atribuir o valor de retorno ao nome original no mesmo escopo. SLATKIN, Brett. E�ective python: 90 speci�c ways to write better python. Addison-Wesley Professional, 2019. Sobre uma função recursiva decorada com @trace, podemos a�rmar que: Escolha uma: a. Ele decora a função para gerar um rastreio da função recursiva. b. Ele faz uma chamada a outra função. c. Ele realiza uma operação de salvar a recursão em um arquivo. d. Ele imprime os argumentos e o valor de retorno da função recursiva. e. Ele salva os valores da função recursiva para tratamento posterior. Sua resposta está incorreta. Feedback: Correta d. SLATKIN, Brett. E�ective python: 90 speci�c ways to write better python. Addison-Wesley Professional, 2019. Ele imprime os argumentos e o valor de retorno em cada nível na pilha recursiva. A resposta correta é: Ele imprime os argumentos e o valor de retorno da função recursiva.. Questão 5 Incorreto Atingiu 0,00 de 0,80 O pandas é uma ferramenta de análise e manipulação de dados de código aberto rápida, poderosa, �exível e fácil de usar, desenvolvida com base na linguagem de programação Python. MCKINNEY, Wes. Python para análise de dados: Tratamento de dados com Pandas, NumPy e IPython. Novatec Editora, 2019. Com Pandas o(s) principal(is) objetivo(s) é/são. I. Realizar consultas web HTTP. II. Manipular dados como se fossem uma planilha. III. Modelar dados de uma forma matricial, com linhas e colunas. IV. Armazenar e persistir dados estruturados. Assinale a alternativa correta: Escolha uma: a. I e II b. II e III c. II e IV d. II, III e IV e. I, II, III, e IV Sua resposta está incorreta. Feedback: Correta b. MCKINNEY, Wes. Python para análise de dados: Tratamento de dados com Pandas, NumPy e IPython. Novatec Editora, 2019. Pandas não tem como objetivo realizar consultas web. Os pandas não tem o objetivo ser uma ferramenta para armazenar dados estruturados. O pandas contém estruturas de dados e ferramentas de manipulação de dados projetadas para tornar a limpeza e a análise de dados rápidas e fáceis em Python. pandas é frequentemente usado em conjunto com ferramentas de computação numérica como NumPy e SciPy, bibliotecas analíticas como statsmodels e scikit-learn e bibliotecas de visualização de dados como matplotlib. A resposta correta é: II e III . Questão 6 Incorreto Atingiu 0,00 de 0,80 No paradigma de programação funcional, algumas das funções de ordem superior mais conhecidas são: map, �lter, reduce. RAMALHO, Luciano. Fluent Python 2nd ed. 2015. Dado as funções de ordem superior, avalie as a�rmações a seguir como (V) para verdadeiras e (F) para falsas: I. A função �lter() retorna um objeto de map dos resultados após aplicar a função dada a cada item de um dado iterável II. A função reduce() é usada para aplicar uma funçãoespecí�ca passada em seu argumento a todos os elementos da lista mencionados na sequência passada e o retorno é um único elemento. III. O função map() �ltra a sequência dada com a ajuda de uma função que testa cada elemento na sequência para ser verdadeiro ou não. As a�rmações I, II e III são, respectivamente: Escolha uma: a. V, F, V b. F, V, V c. F, F, V d. F, V, F e. V, F, F Sua resposta está incorreta. Feedback: Correta a. RAMALHO, Luciano. Fluent Python 2nd ed. 2015. No Python 3, map e �lter retornam geradores – uma forma de iterador – então seu substituto direto agora é uma expressão geradora (no Python 2, essas funções retornam listas, portanto, sua alternativa mais próxima é um listcomp). A função reduce foi rebaixada de um built-in em Python 2 para o módulo functools em Python 3. Seu caso de uso mais comum, summation, é melhor servido pelo sum built-in disponível desde que o Python 2.3 foi lançado em 2003. Este é um grande vitoria em termos de legibilidade e desempenho. A resposta correta é: V, F, V. Questão 7 Correto Atingiu 0,80 de 0,80 StopIteration sinaliza que o iterador está esgotado. Essa exceção é tratada internamente em loops for e outros contextos de iteração, como compreensão de lista, descompactação de tupla, etc. RAMALHO, Luciano. Fluent Python 2nd ed. 2015. Sobre funções objetos iteradores em Python, podemos a�rmar que: Escolha uma: a. O objetos iteradores são uma especialização dos objetos iteráveis, ou seja ele é uma abstração de um iterável. b. O método next(), retorna o próximo item do iterador. c. A implementação de um objeto iterador faz parte de um padrão de projeto chamado Singleton. d. Os objetos de tipo map e �lter não implementam a classe dos iteradores. e. A principal diferença dos iteráveis e dos iteradores é que os iteráveis possuem um método __getitem__ que pode ser usada como chave e os iteradores não possuem essa chave. Sua resposta está correta. Feedback: Correta b. RAMALHO, Luciano. Fluent Python 2nd ed. 2015. A interface padrão para um iterador tem dois métodos: __next__ retorna o próximo item disponível, aumentando StopIteration quando não houver mais itens. __iter__ retorna a si mesmo; isso permite que iteradores sejam usados onde um iterável é esperado, por exemplo, em um loop for. Isso é formalizado no collections.abc.Iterator ABC, que de�ne o método abstrato __next__ e nas subclasses Iterable — onde o método abstrato __iter__ é de�nido. A resposta correta é: O método next(), retorna o próximo item do iterador.. Questão 8 Correto Atingiu 0,80 de 0,80 Uma Series é um objeto do tipo __________ contendo uma sequência de valores (de tipos semelhantes aos tipos do ________) e um array associado de rótulos (labels) de dados, chamado de _______. A Series mais simples é composta de apenas um _______ de dados MCKINNEY, Wes. Python para análise de dados: Tratamento de dados com Pandas, NumPy e IPython. Novatec Editora, 2019. Diante do exposto, na sequência assinale a alternativa que preencha corretamente as lacunas. Escolha uma: a. NumPy, array unidimensional, índice, array. b. array, NumPy, array unidimensional, índice . c. índice, array array unidimensional, NumPy. d. NumPy, array índice, array unidimensional. e. array unidimensional, NumPy, índice, array Sua resposta está correta. Feedback: Correta e. MCKINNEY, Wes. Python para análise de dados: Tratamento de dados com Pandas, NumPy e IPython. Novatec Editora, 2019. Uma Series é um objeto do tipo array unidimensional contendo uma sequência de valores (de tipos semelhantes aos tipos do NumPy) e um array associado de rótulos (labels) de dados, chamado de índice. A Series mais simples é composta de apenas um array de dados. Usar funções NumPy ou operações do tipo NumPy, como �ltragem com um array boolean, multiplicação escalar ou aplicação de funções matemáticas, preservar a ligação entre índice e valor. A resposta correta é: array unidimensional, NumPy, índice, array. Questão 9 Correto Atingiu 0,80 de 0,80 O projeto SQLAlchemy é um kit de ferramentas SQL Python popular que abstrai muitas das diferenças comuns entre bancos de dados SQL. O pandas têm uma função read_sql que permite ler dados facilmente de uma conexão SQLAlchemy geral. MCKINNEY, Wes. Python para análise de dados: Tratamento de dados com Pandas, NumPy e IPython. Novatec Editora, 2019. Para persistir um DataFrame Pandas em um banco de dados é necessário usar a função: Assinale a alternativa correta: Escolha uma: a. read_sql() b. write_sql() c. to_sql(): d. read_sql_query() e. to_excel() Sua resposta está correta. Feedback: Correta c. MCKINNEY, Wes. Python para análise de dados: Tratamento de dados com Pandas, NumPy e IPython. Novatec Editora, 2019. Grave registros armazenados em um DataFrame em um banco de dados SQL. Bancos de dados suportados pelo SQLAlchemy. As tabelas podem ser recém-criadas, anexadas ou sobrescritas. A resposta correta é: to_sql(): . Questão 10 Incorreto Atingiu 0,00 de 0,80 Os dados contínuos geralmente são discretizados ou separados em “caixas” para análise. O Objeto pandas pode ser tratado como um array de strings indicando o nome do compartimento; internamente, ele contém uma array de categorias especi�cando os nomes das categorias distintas, juntamente com uma rotulagem para os dados. MCKINNEY, Wes. Python para análise de dados: Tratamento de dados com Pandas, NumPy e IPython. Novatec Editora, 2019. O principal método utilizado para contagem de compartimentos em Pandas é: Assinale a alternativa correta: Escolha uma: a. iloc(): Indexação puramente baseada em localização inteira para seleção por posição. b. value_counts(): Retorna uma série contendo contagens de linhas exclusivas no DataFrame. c. items(): Itera sobre as colunas DataFrame, retornando uma tupla com o nome da coluna e o conteúdo como uma série. d. empty(): True se o DataFrame estiver totalmente vazio (sem itens), o que signi�ca que qualquer um dos eixos tem comprimento 0. e. apply(): Aplique uma função ao longo de um eixo do DataFrame. Sua resposta está incorreta. Feedback: Correta b. MCKINNEY, Wes. Python para análise de dados: Tratamento de dados com Pandas, NumPy e IPython. Novatec Editora, 2019. Observe que pd.value_counts(cats) são as contagens bin para o resultado de pandas.cut .Consistente com a notação matemática para intervalos, um parêntese signi�ca que o lado está aberto, enquanto o colchete signi�ca que está fechado (inclusive). Você pode alterar qual lado está fechado passando right=False A resposta correta é: value_counts(): Retorna uma série contendo contagens de linhas exclusivas no DataFrame..
Compartilhar