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

9 de maio 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.