Manipulação de dados em Python vs. R: dplyr vs. pandas

Comparando técnicas de manipulação de dados em R e Python

Este tutorial compara técnicas de manipulação de dados usando as bibliotecas dplyr do R e pandas do Python. Por meio de exemplos lado a lado, aprenda a filtrar, agrupar, resumir e unir dados para otimizar seu fluxo de trabalho de ciência de dados.

Programação
Autor
Afiliação
Data de Publicação

13 de fevereiro de 2024

Data de Modificação

29 de abril de 2025

Palavras-chave

dplyr vs pandas, Manipulação de dados em R e Python, Tutorial do pandas, Tutorial dplyr, R vs Python data wrangling

Introdução

A manipulação eficaz de dados é essencial em qualquer fluxo de trabalho de ciência de dados. Tanto o R quanto o Python fornecem bibliotecas poderosas para essa tarefa: dplyr no R e pandas no Python. Embora a sintaxe seja diferente entre os dois, as funcionalidades principais, como filtrar, agrupar, resumir e unir dados, são notavelmente semelhantes. Neste tutorial, oferecemos exemplos lado a lado de operações comuns de manipulação de dados em dplyr e pandas, ajudando você a entender as semelhanças e diferenças ao fazer a transição entre esses dois ecossistemas.



Filtragem de dados

A filtragem é uma das operações mais fundamentais. Abaixo estão exemplos de filtragem de linhas onde a variável value é maior que 5.

library(dplyr)

# Crie um data frame de amostra
data <- data.frame(
  id = 1:10,
  value = c(5, 3, 6, 2, 8, 7, 4, 9, 1, 10)
)

# Filtre linhas onde o valor > 5
filtered_data <- data %>% filter(value > 5)
print(filtered_data)
  id value
1  3     6
2  5     8
3  6     7
4  8     9
5 10    10
import pandas as pd

# Crie um DataFrame de amostra
data = pd.DataFrame({
    'id': list(range(1, 11)),
    'value': [5, 3, 6, 2, 8, 7, 4, 9, 1, 10]
})

# Filtre linhas onde o valor > 5
filtered_data = data[data['value'] > 5]
print(filtered_data)
   id  value
2   3      6
4   5      8
5   6      7
7   8      9
9  10     10

Agrupar e resumir dados

Agrupar dados e calcular estatísticas resumidas é crucial para entender as distribuições de dados. Abaixo, agrupamos por uma variável categórica e calculamos a média de uma variável numérica.

library(dplyr)

# Crie dados de amostra com uma variável de agrupamento
data <- data.frame(
  group = rep(c("A", "B"), each = 5),
  value = c(5, 3, 6, 2, 8, 7, 4, 9, 1, 10)
)

# Agrupe por 'grupo' e resuma o valor médio
summary_data <- data %>%
  group_by(group) %>%
  summarize(avg_value = mean(value))
print(summary_data)
# A tibble: 2 × 2
  group avg_value
  <chr>     <dbl>
1 A           4.8
2 B           6.2
import pandas as pd

# Crie um DataFrame de amostra com uma coluna de agrupamento
data = pd.DataFrame({
    'group': ['A']*5 + ['B']*5,
    'value': [5, 3, 6, 2, 8, 7, 4, 9, 1, 10]
})

# Agrupe por 'grupo' e calcule a média de 'valor'
summary_data = data.groupby('group')['value'].mean().reset_index()
print(summary_data)
  group  value
0     A    4.8
1     B    6.2

Unindo dados

Juntar (mesclar) conjuntos de dados é uma tarefa comum ao combinar dados de várias fontes. Abaixo está um exemplo de como realizar uma junção à esquerda.

library(dplyr)

# Criar duas estruturas de dados de amostra
df1 <- data.frame(
  id = 1:5,
  value1 = c("A", "B", "C", "D", "E")
)

df2 <- data.frame(
  id = c(3, 4, 5, 6),
  value2 = c("X", "Y", "Z", "W")
)

# Juntar df1 com df2 à esquerda em 'id'
joined_data <- left_join(df1, df2, by = "id")
print(joined_data)
  id value1 value2
1  1      A   <NA>
2  2      B   <NA>
3  3      C      X
4  4      D      Y
5  5      E      Z
import pandas as pd

# Crie dois DataFrames de amostra
df1 = pd.DataFrame({
    'id': [1, 2, 3, 4, 5],
    'value1': ["A", "B", "C", "D", "E"]
})

df2 = pd.DataFrame({
    'id': [3, 4, 5, 6],
    'value2': ["X", "Y", "Z", "W"]
})

# Execute uma mesclagem à esquerda em 'id'
joined_data = pd.merge(df1, df2, on="id", how="left")
print(joined_data)
   id value1 value2
0   1      A    NaN
1   2      B    NaN
2   3      C      X
3   4      D      Y
4   5      E      Z

Conclusão

Este tutorial forneceu exemplos lado a lado comparando técnicas de manipulação de dados em R usando dplyr e em Python usando pandas. Seja para filtrar linhas, agrupar dados para estatísticas resumidas ou unir conjuntos de dados, ambos os ecossistemas oferecem ferramentas poderosas e semelhantes para realizar suas tarefas de manipulação de dados. Compreender esses paralelos pode facilitar muito a transição entre o R e o Python e ajudá-lo a escolher a ferramenta certa para seus projetos de ciência de dados.

Leitura adicional

Boa programação e aproveite o poder do dplyr e do pandas em seus fluxos de trabalho de ciência de dados!

Explore mais artigos

Nota

Aqui estão mais artigos da mesma categoria para ajudá-lo a se aprofundar no tópico.

placeholder

placeholder
Nenhum item correspondente
De volta ao topo

Reuso

Citação

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Manipulação de dados em Python vs. R: dplyr vs. pandas},
  date = {2024-02-13},
  url = {https://www.datanovia.com/pt/learn/programming/transition/data-manipulation-dplyr-vs-pandas.html},
  langid = {pt}
}
Por favor, cite este trabalho como:
Kassambara, Alboukadel. 2024. “Manipulação de dados em Python vs. R: dplyr vs. pandas.” February 13, 2024. https://www.datanovia.com/pt/learn/programming/transition/data-manipulation-dplyr-vs-pandas.html.