Pular para o conteúdo principal
InicioBlogPython

As 26 principais perguntas e respostas da entrevista sobre pandas em Python

Explore as principais perguntas e respostas da entrevista sobre Python pandas para funções de ciência de dados
abr. de 2024  · 15 min leer

Este artigo é uma contribuição valiosa de nossa comunidade e foi editado pela DataCamp para fins de clareza e precisão.

Tem interesse em compartilhar sua própria experiência? Gostaríamos muito de ouvir sua opinião! Sinta-se à vontade para enviar seus artigos ou ideias por meio de nosso Formulário de Contribuição da Comunidade.

Como uma das habilidades mais exigentes para uma função orientada a dados, muitos profissionais ou entusiastas de dados procuram as perguntas mais frequentes em entrevistas com pandas para conseguir um emprego decente no setor de dados em expansão.

Não importa se você está procurando sua primeira oportunidade de emprego ou se quer subir de nível em sua função, nós o ajudamos. Neste artigo, compilamos as perguntas mais frequentes das entrevistas com Python pandas e suas respostas. Algumas das perguntas são de minha própria experiência de entrevista na Target em uma função de cientista de dados.

Portanto, continue lendo para descobrir perguntas de entrevistas com pandas de todos os níveis.

Se você estiver com pouco tempo e precisar de uma rápida recapitulação dos pandas, confira nossa folha de dicas sobre pandas.

Perguntas básicas da entrevista sobre o pandas

Vamos dar uma olhada em algumas perguntas básicas de entrevistas sobre pandas. Alguns entrevistadores podem começar com essas perguntas simples para confortá-lo no início, enquanto outros podem fazer essas perguntas para avaliar seu conhecimento básico da biblioteca.

1. O que é pandas em Python?

O Pandas é uma biblioteca Python de código aberto com métodos avançados e incorporados para limpar, analisar e manipular conjuntos de dados com eficiência. Desenvolvido por Wes McKinney em 2008, esse pacote avançado pode ser facilmente combinado com vários outros módulos de ciência de dados em Python.

O Pandas foi desenvolvido com base na biblioteca NumPy, ou seja, suas estruturas de dados Series e DataFrame são as versões atualizadas das matrizes do NumPy.

2. Como acessar as 6 primeiras linhas e as 7 últimas linhas de um DataFrame do pandas?

O método head() do pandas é usado para acessar as linhas iniciais de um DataFrame, e o método tail() é usado para acessar as últimas linhas.

Para acessar as 6 linhas superiores: dataframe_name.head(6)

Para acessar as últimas 7 linhas: dataframe_name.tail(7)

3. Por que o DataFrame.shape não tem parênteses?

No pandas, shape é um atributo e não um método. Portanto, você deve acessá-lo sem parênteses.

DataFrame.shape gera uma tupla com o número de linhas e colunas em um DataFrame.

4. Qual é a diferença entre Series e DataFrame?

DataFrame: O DataFrame do pandas estará em formato tabular com várias linhas e colunas, sendo que cada coluna pode ser de tipos de dados diferentes.

Série: O Series é uma matriz rotulada unidimensional que pode armazenar qualquer tipo de dados, mas todos os seus valores devem ser do mesmo tipo de dados. A estrutura de dados Series é mais parecida com uma única coluna de um DataFrame.

A estrutura de dados Series consome menos memória do que um DataFrame. Portanto, certas tarefas de manipulação de dados são mais rápidas com ele.

No entanto, o DataFrame pode armazenar conjuntos de dados grandes e complexos, enquanto o Series pode lidar apenas com dados homogêneos. Portanto, o conjunto de operações que você pode executar no DataFrame é significativamente maior do que na estrutura de dados Series.

5. O que é um índice no pandas?

O índice é uma série de rótulos que podem identificar exclusivamente cada linha de um DataFrame. O índice pode ser de qualquer tipo de dado, como inteiro, string, hash etc,

df.index imprime os índices de linha atuais do DataFrame df.

Perguntas da entrevista sobre pandas intermediário

Essas perguntas serão um pouco mais desafiadoras, e é mais provável que você as encontre em funções que exijam experiência prévia no uso de pandas.

6. O que é Multi indexação no pandas?

O índice no pandas especifica de forma exclusiva cada linha de um DataFrame. Normalmente, escolhemos a coluna que pode identificar exclusivamente cada linha de um DataFrame e a definimos como o índice. Mas e se você não tiver uma única coluna que possa fazer isso?

Por exemplo, você tem as colunas "name" (nome), "age" (idade), "address" (endereço) e "marks" (marcas) em um DataFrame. Qualquer uma das colunas acima pode não ter valores exclusivos para todas as linhas diferentes e não são adequadas como índices.

No entanto, as colunas "name" e "address" juntas podem identificar exclusivamente cada linha do DataFrame. Portanto, você pode definir ambas as colunas como o índice. Seu DataFrame agora tem um índice hierárquico ou de vários índices.

7. Explicar a reindexação do pandas

A reindexação no pandas nos permite criar um novo objeto DataFrame a partir do DataFrame existente com os índices de linha e rótulos de coluna atualizados.

Você pode fornecer um conjunto de novos índices à função DataFrame.reindex() e ela criará um novo objeto DataFrame com os índices fornecidos e obterá valores do DataFrame real.

Se os valores para esses novos índices não estiverem presentes no DataFrame original, a função preencherá essas posições com os nulos padrão. No entanto, podemos alterar o valor padrão NaN para qualquer valor que quisermos que eles preencham.

Aqui está o código de exemplo:

Criar um DataFrame df com índices:

import pandas as pd

data = [['John', 50, 'Austin', 70],
        ['Cataline', 45 , 'San Francisco', 80],
        ['Matt', 30, 'Boston' , 95]]

columns = ['Name', 'Age', 'City', 'Marks']

#row indexes
idx = ['x', 'y', 'z']

df = pd.DataFrame(data, columns=columns, index=idx)

print(df)

Reindexar com um novo conjunto de índices:

new_idx = ['a', 'y', 'z']

new_df = df.reindex(new_idx)

print(new_df)

O site new_df tem valores do site df para índices comuns ('y' e 'z'), e o novo índice 'a' é preenchido com o NaN padrão.

8. Qual é a diferença entre loc e iloc?

Os métodos loc e iloc do pandas são usados para selecionar subconjuntos de um DataFrame. Na prática, eles são amplamente usados para filtrar o DataFrame com base em condições.

Devemos usar o método loc para selecionar dados usando rótulos reais de linhas e colunas, enquanto o método iloc é usado para extrair dados com base em índices inteiros de linhas e colunas.

9. Mostrar duas maneiras diferentes de criar um DataFrame do pandas

Usando o dicionário Python:

import pandas as pd

data = {'Name': ['John', 'Cataline', 'Matt'],
        'Age': [50, 45, 30],
        'City': ['Austin', 'San Francisco', 'Boston'],
        'Marks' : [70, 80, 95]}

df = pd.DataFrame(data)

Usando listas Python:

import pandas as pd

data = [['John', 25, 'Austin',70],
        ['Cataline', 30, 'San Francisco',80],
        ['Matt', 35, 'Boston',90]]

columns = ['Name', 'Age', 'City', 'Marks']

df = pd.DataFrame(data, columns=columns)

10. Como obter a contagem de todos os valores exclusivos de uma coluna categórica em um DataFrame?

A função Series.value_counts() retorna a contagem de cada valor exclusivo de uma série ou coluna.

Exemplo:

Criamos um DataFrame df que contém uma coluna categórica chamada "Sexo" e executamos a função value_counts() para ver a contagem de cada valor exclusivo nessa coluna.

import pandas as pd

data = [['John', 50, 'Male', 'Austin', 70],
        ['Cataline', 45 ,'Female', 'San Francisco', 80],
        ['Matt', 30 ,'Male','Boston', 95]]

# Column labels of the DataFrame
columns = ['Name','Age','Sex', 'City', 'Marks']

# Create a DataFrame df
df = pd.DataFrame(data, columns=columns)

df['Sex'].value_counts()

Perguntas da entrevista sobre pandas para profissionais experientes

Aqueles que já têm uma sólida experiência em pandas e estão se candidatando a cargos mais sênior podem se deparar com algumas dessas perguntas:

11. Como você otimiza o desempenho ao trabalhar com grandes conjuntos de dados no pandas?

Carregar menos dados: Ao ler dados usando pd.read_csv(), escolha apenas as colunas necessárias com o parâmetro "usecols" para evitar o carregamento de dados desnecessários. Além disso, a especificação do parâmetro "chunksize" divide os dados em diferentes blocos e os processa sequencialmente.

Evite loops: Os loops e as iterações são caros, especialmente quando se trabalha com grandes conjuntos de dados. Em vez disso, opte por operações vetorizadas, pois elas são aplicadas em uma coluna inteira de uma só vez, o que as torna mais rápidas do que as iterações por linha.

Use a agregação de dados: Tente agregar dados e realizar operações estatísticas porque as operações em dados agregados são mais eficientes do que em todo o conjunto de dados.

Use os tipos de dados corretos: Os tipos de dados padrão do pandas não são eficientes em termos de memória. Por exemplo, os valores inteiros têm o tipo de dados padrão int64, mas se seus valores couberem em int32, o ajuste do tipo de dados para int32 pode otimizar o uso da memória.

Processamento paralelo: Dask é uma API semelhante ao pandas para trabalhar com grandes conjuntos de dados. Ele utiliza vários processos de seu sistema para executar paralelamente diferentes tarefas de dados.

12. Qual é a diferença entre os métodos Join e Merge no pandas?

Participe: Une dois DataFrames com base em seu índice. No entanto, há um argumento opcional 'on' para especificar explicitamente se você deseja unir com base em colunas. Por padrão, essa função executa a união à esquerda.

Sintaxe: df1.join(df2)

Mesclar: A função de mesclagem é mais versátil, permitindo que você especifique as colunas nas quais deseja unir os DataFrames. Ele aplica a junção interna por padrão, mas pode ser personalizado para usar diferentes tipos de junção, como esquerda, direita, externa, interna e cruzada.

Sintaxe: pd.merge(df1, df2, on=”column_names”)

13. O que é Timedelta?

Timedelta representa a duração, ou seja, a diferença entre duas datas ou horários, medida em unidades como dias, horas, minutos e segundos.

14. Qual é a diferença entre os métodos append e concat?

Podemos usar o método concat para combinar DataFrames ao longo de linhas ou colunas. Da mesma forma, append também é usado para combinar DataFrames, mas somente ao longo das linhas.

Com a função concat, você tem a flexibilidade de modificar o DataFrame original usando o parâmetro "inplace", enquanto a função append não pode modificar o DataFrame real, mas cria um novo com os dados combinados.

Perguntas da entrevista sobre codificação do pandas

As habilidades práticas são tão importantes quanto o conhecimento teórico quando se trata de ser bem-sucedido em uma entrevista técnica. Portanto, aqui estão algumas das perguntas de entrevista sobre pandas que você precisa saber antes de enfrentar o entrevistador.

15. Como ler arquivos do Excel para CSV usando o pandas?

Primeiro, devemos usar a função read_excel() para extrair os dados do Excel para uma variável. Em seguida, basta aplicar a função to_csv() para obter uma conversão perfeita.

Aqui está o código de exemplo:

import pandas as pd

#input your excel file path into the read_excel() function.
excel_data = pd.read_excel("/content/sample_data/california_housing_test.xlsx")

excel_data.to_csv("CSV_data.csv", index = None, header=True) 

16. Como classificar um DataFrame com base em colunas?

Temos o método sort_values() para classificar o DataFrame com base em uma única coluna ou em várias colunas.

Sintaxe: df.sort_values(by=[“column_names”])

Exemplo de código:

import pandas as pd

data = [['John', 50, 'Male', 'Austin', 70],
['Cataline', 45 ,'Female', 'San Francisco', 80],
['Matt', 30 ,'Male', 'Boston', 95],
['Oliver',35,'Male', 'New york', 65]]

# Column labels of the DataFrame
columns = ['Name','Age','Sex', 'City', 'Marks']

# Create a DataFrame df
df = pd.DataFrame(data, columns=columns)

# Sort values based on ‘Age’ column
df.sort_values(by=['Age'])

df.head()`

17. Mostrar duas maneiras diferentes de filtrar dados

Para criar um DataFrame:

import pandas as pd

data = {'Name': ['John', 'Cataline', 'Matt'],
        'Age': [50, 45, 30],
        'City': ['Austin', 'San Francisco', 'Boston'],
        'Marks' : [70, 80, 95]}

# Create a DataFrame df
df = pd.DataFrame(data)

Método 1: Com base nas condições

new_df = df[(df.Name == "John") | (df.Marks > 90)]
print (new_df)

Método 2: Usando a função de consulta

df.query('Name == "John" or Marks > 90')
print (new_df)

18. Como você agrega dados e aplica alguma função de agregação, como média ou soma, a eles?

A função groupby permite que você agregue dados com base em determinadas colunas e execute operações nos dados agrupados. No código a seguir, os dados são agrupados na coluna "Name" (Nome) e a média de "Marks" (Marcas) de cada grupo é calculada.

import pandas as pd

# Create a DataFrame
data = {
    'Name': ['John', 'Matt', 'John', 'Matt', 'Matt', 'Matt'],
    'Marks': [10, 20, 30, 15, 25, 18]
}

# Create a DataFrame df
df = pd.DataFrame(data)

# mean marks of John and Matt
print(df.groupby('Name').mean())

19. Como você pode criar uma nova coluna derivada de colunas existentes?

Podemos usar o método apply() para derivar uma nova coluna executando algumas operações em colunas existentes.

O código a seguir adiciona uma nova coluna chamada "total" ao DataFrame. Essa nova coluna contém a soma dos valores das outras duas colunas.

Exemplo de código:

import pandas as pd

# Create a DataFrame
data = {
    'Name': ['John', 'Matt', 'John', 'Cateline'],
    'math_Marks': [18, 20, 19, 15],
    'science_Marks': [10, 20, 15, 12]
}

# Create a DataFrame df
df = pd.DataFrame(data)

df['total'] = df.apply(lambda row : row["math_Marks"] + row["science_Marks"], axis=1)


print(df)

Perguntas da entrevista sobre o pandas para cientistas de dados

Agora que cobrimos todas as perguntas gerais e de codificação da entrevista sobre o pandas, vamos dar uma olhada nas perguntas da entrevista sobre ciência de dados do pandas.

20. Como você lida com valores nulos ou ausentes no pandas?

Você pode usar qualquer um dos três métodos a seguir para lidar com valores ausentes no pandas:

dropna() - a função remove as linhas ou colunas ausentes do DataFrame.

fillna() - preencha os nulos com um valor específico usando essa função.

interpolate() - esse método preenche os valores ausentes com valores de interpolação computados. A técnica de interpolação pode ser linear, polinomial, spline, temporal, etc,

21. Diferença entre os métodos fillna() e interpolate()

fillna() –

fillna() preenche os valores ausentes com a constante fornecida. Além disso, você pode fornecer entradas de preenchimento progressivo ou regressivo ao seu parâmetro "method".

interpolate() –

Por padrão, essa função preenche os valores ausentes ou NaN com os valores interpolados lineares. No entanto, é possível personalizar a técnica de interpolação para polinomial, tempo, índice, spline etc., usando o parâmetro 'method'.

O método de interpolação é altamente adequado para dados de séries temporais, enquanto o método fillna é uma abordagem mais genérica.

22. O que é reamostragem?

A reamostragem é usada para alterar a frequência com que os dados da série temporal são relatados. Imagine que você tenha dados de séries temporais mensais e queira convertê-los em dados semanais ou anuais.

A conversão de dados mensais em semanais ou diários nada mais é do que um upsampling. Técnicas de interpolação são usadas para aumentar as frequências aqui.

Por outro lado, a conversão de dados mensais em anuais é denominada downsampling, em que são aplicadas técnicas de agregação de dados.

23. Como você executa a codificação de um único ponto usando o pandas?

Realizamos uma codificação a quente para converter valores categóricos em valores numéricos, de modo que possam ser alimentados ao algoritmo de aprendizado de máquina.

import pandas as pd

data = {'Name': ['John', 'Cateline', 'Matt', 'Oliver'],
        'ID': [1, 22, 23, 36]}

df = pd.DataFrame(data)

#one hot encoding 
new_df = pd.get_dummies(df.Name)
new_df.head()

24. Como criar um gráfico de linhas no pandas?

Para desenhar um gráfico de linhas, temos uma função de gráfico no pandas.

import pandas as pd


data = {'units': [1, 2, 3, 4, 5],
        'price': [7, 12, 8, 13, 16]}
# Create a DataFrame df
df = pd.DataFrame(data)

df.plot(x='units', y='price')

25. Qual é o método do pandas para obter o resumo estatístico de todas as colunas em um DataFrame?

df.describe()

Esse método retorna estatísticas como média, valores de percentil, mínimo, máximo, etc., de cada coluna no DataFrame.

26. O que significa Rolling?

A média móvel também é chamada de média móvel porque a ideia aqui é calcular a média dos pontos de dados para uma janela especificada e deslizar a janela pelos dados. Isso reduzirá as flutuações e destacará as tendências de longo prazo nos dados de séries temporais.

Sintaxe: df['column_name'].rolling(window=n).mean()

Preparação para a entrevista

Além dos pandas, uma função de trabalho orientada a dados exige muitas outras habilidades. Aqui está a lista de verificação para ter sucesso no processo geral de entrevista:

Entenda os requisitos do trabalho

Revise a descrição e as responsabilidades do cargo e certifique-se de que suas habilidades e seu currículo estejam alinhados a elas. Além disso, conhecer a empresa e saber como sua função a afeta é uma vantagem.

Código em Python

O entrevistador primeiro verifica suas habilidades em Python antes de perguntar sobre a biblioteca (pandas). Portanto, equipe-se com habilidades sólidas em Python.

Para funções de analista, somente a linguagem Python é suficiente. Mas se estiver se candidatando a cargos de cientista de dados ou engenheiro de ML, é importante resolver desafios de codificação em Python.

Projetos de dados

Certifique-se de que você tenha resolvido alguns problemas de dados do mundo real em seu currículo. Para os experientes, você pode falar sobre seus projetos anteriores. Se você for novo na área, tente concluir alguns projetos do Kaggle.

Conceitos gerais

Para os analistas, as perguntas podem ser sobre Excel, painéis de visualização de dados, estatísticas e probabilidade. Além disso, o entrevistador pode se aprofundar nos assuntos de aprendizagem automática e aprendizagem profunda se você estiver se candidatando a cargos de cientista de dados ou engenheiro de ML.

Prepare-se usando as perguntas mais frequentes da entrevista

Há grandes chances de você receber pelo menos algumas perguntas das perguntas mais frequentes da entrevista. Portanto, prepare-se com as folhas de consulta e as perguntas simuladas da entrevista.

Projeto do sistema de ML

Espere perguntas sobre o design do sistema se estiver se candidatando a cargos altamente técnicos ou experientes. Revise questões comuns de design e pratique problemas de design de sistemas de ML de ponta a ponta.

Conclusão

Para conseguir um emprego no setor de dados, são necessárias habilidades sólidas em Python pandas. A lista acima de perguntas teóricas e práticas da entrevista deve ajudá-lo a vencer a parte sobre pandas da entrevista. Além disso, as dicas no final garantem que toda a entrevista transcorra sem problemas.

Você pode usar os recursos a seguir para ajudá-lo a se preparar para a entrevista com a pandas:

Temas

Comece sua jornada com os pandas hoje mesmo!

Course

Data Manipulation with pandas

4 hr
367.4K
Learn how to import and clean data, calculate statistics, and create visualizations with pandas.
See DetailsRight Arrow
Start Course
Veja MaisRight Arrow
Relacionado

blog

Como aprender Python do zero em 2024: um guia especializado

Descubra como aprender Python, suas aplicações e a demanda por competências em Python. Comece sua jornada em Python hoje mesmo ​com nosso guia detalhado.
Matt Crabtree's photo

Matt Crabtree

19 min

blog

Mais de 60 projetos Python para todos os níveis de conhecimento

60 ideias de projetos de ciência de dados que os cientistas de dados podem usar para criar um portfólio sólido, independentemente de sua especialização.
Bekhruz Tuychiev's photo

Bekhruz Tuychiev

16 min

tutorial

Como comentar um bloco de código em Python

O uso de comentários é fundamental para trabalhar efetivamente com Python. Neste breve tutorial, aprenda a comentar um bloco de código em Python.
Adel Nehme's photo

Adel Nehme

3 min

tutorial

Como aparar uma cadeia de caracteres em Python: Três métodos diferentes

Aprenda os fundamentos do corte de caracteres à esquerda e à direita de uma string em Python.
Adel Nehme's photo

Adel Nehme

5 min

tutorial

Declaração de caso de troca do Python: Um guia para iniciantes

Explore o match-case do Python: um guia sobre sua sintaxe, aplicativos em ciência de dados, ML e uma análise comparativa com o switch-case tradicional.
Matt Crabtree's photo

Matt Crabtree

5 min

tutorial

Tutorial de Python

Em Python, tudo é objeto. Números, cadeias de caracteres (strings), DataFrames, e até mesmo funções são objetos. Especificamente, qualquer coisa que você usa no Python tem uma classe, um modelo associado por trás.
DataCamp Team's photo

DataCamp Team

3 min

See MoreSee More