Course
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:
- Manipulação de dados com pandas: Um curso para iniciantes que aborda os fundamentos do pandas, a manipulação de dados e as técnicas de visualização usando conjuntos de dados do mundo real.
- Preparação de dados com pandas: Este tutorial oferece habilidades práticas para lidar com dados ausentes com o pandas, ensinando funções como isnull(), dropna() e fillna().
- Praticando perguntas de codificação para entrevistas em Python: Ideal para a preparação de entrevistas de codificação, este curso abrange estruturas de dados Python, manipulação de strings e outras áreas importantes para entrevistas de ciência de dados.
- Preparação para a entrevista de ciência de dados: Fornece dicas abrangentes de preparação para vários formatos de entrevista e abrange habilidades técnicas em Python, R, SQL e muito mais.
Comece sua jornada com os pandas hoje mesmo!
Course
Joining Data with pandas
Course
Reshaping Data with pandas
blog
As 26 principais bibliotecas Python para ciência de dados em 2024
blog
As 31 principais perguntas e respostas de entrevistas com analistas de negócios para todos os níveis
blog
As 25 principais perguntas da entrevista sobre aprendizado de máquina para 2024
tutorial
21 ferramentas essenciais do Python
tutorial
Tutorial do Python pandas: O guia definitivo para iniciantes
tutorial