Manipulación de datos en Python frente a R: dplyr frente a pandas

Comparación de técnicas de manipulación de datos en R y Python

Este tutorial compara las técnicas de manipulación de datos utilizando las bibliotecas dplyr de R y pandas de Python. A través de ejemplos lado a lado, aprenda cómo filtrar, agrupar, resumir y unir datos para agilizar su flujo de trabajo de ciencia de datos.

Programación
Autor/a
Afiliación
Fecha de publicación

13 de febrero de 2024

Fecha de modificación

9 de mayo de 2025

Palabras clave

dplyr vs pandas, Manipulación de datos en R y Python, tutorial de pandas, dplyr tutorial, Manipulación de datos en R frente a Python

Introducción

La manipulación eficaz de los datos es esencial en cualquier flujo de trabajo de la ciencia de datos. Tanto R como Python proporcionan potentes bibliotecas para esta tarea: dplyr en R y pandas en Python. Aunque la sintaxis difiere entre los dos, las funcionalidades básicas, como filtrar, agrupar, resumir y unir datos, son muy similares. En este tutorial, ofrecemos ejemplos paralelos de operaciones comunes de manipulación de datos en dplyr y pandas, ayudándole a entender las similitudes y diferencias en su transición entre estos dos ecosistemas.



Filtrar Datos

El filtrado es una de las operaciones más fundamentales. A continuación se muestran ejemplos de filtrado de filas en las que la variable value es mayor que 5.

library(dplyr)

# Crear un marco de datos de muestra
data <- data.frame(
  id = 1:10,
  value = c(5, 3, 6, 2, 8, 7, 4, 9, 1, 10)
)

# Filtrar filas donde 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

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

# Filtrar filas donde 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

Agrupación y resumen de datos

Agrupar datos y calcular estadísticos de resumen es crucial para comprender las distribuciones de los datos. A continuación, agrupamos por una variable categórica y calculamos la media de una variable numérica.

library(dplyr)

# Crear datos de muestra con una variable de agrupación
data <- data.frame(
  group = rep(c("A", "B"), each = 5),
  value = c(5, 3, 6, 2, 8, 7, 4, 9, 1, 10)
)

# Agrupar por 'grupo' y resumir el valor medio
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

# Crear DataFrame de ejemplo con una columna de agrupación
data = pd.DataFrame({
    'group': ['A']*5 + ['B']*5,
    'value': [5, 3, 6, 2, 8, 7, 4, 9, 1, 10]
})

# Agrupar por <grupo> y calcular la media de <valor>
summary_data = data.groupby('group')['value'].mean().reset_index()
print(summary_data)
  group  value
0     A    4.8
1     B    6.2

Unir datos

Unir (fusionar) conjuntos de datos es una tarea común cuando se combinan datos de múltiples fuentes. A continuación se muestra un ejemplo de unión a la izquierda.

library(dplyr)

# Creación de dos marcos de datos de ejemplo
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")
)

# Left join df1 with df2 on dplyr
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

# Crear dos marcos de datos de muestra
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"]
})

# Realice una fusión a la izquierda en '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

Conclusión

Este tutorial ha proporcionado ejemplos lado a lado comparando técnicas de manipulación de datos en R usando dplyr y en Python usando pandas. Ya sea que esté filtrando filas, agrupando datos para estadísticas de resumen o uniendo conjuntos de datos, ambos ecosistemas ofrecen herramientas poderosas y similares para realizar sus tareas de manipulación de datos. Comprender estos paralelismos puede facilitar enormemente la transición entre R y Python y ayudarle a elegir la herramienta adecuada para sus proyectos de ciencia de datos.

Lecturas adicionales

Feliz codificación, y disfrute aprovechando el poder tanto de dplyr como de pandas en sus flujos de trabajo de ciencia de datos!

Explorar más artículos

Nota

Aquí hay más artículos de la misma categoría para ayudarte a profundizar en el tema.

placeholder

placeholder
No hay resultados
Volver arriba

Reutilización

Cómo citar

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Manipulación de datos en Python frente a R: dplyr frente a
    pandas},
  date = {2024-02-13},
  url = {https://www.datanovia.com/es/learn/programming/transition/data-manipulation-dplyr-vs-pandas.html},
  langid = {es}
}
Por favor, cita este trabajo como:
Kassambara, Alboukadel. 2024. “Manipulación de datos en Python frente a R: dplyr frente a pandas.” February 13, 2024. https://www.datanovia.com/es/learn/programming/transition/data-manipulation-dplyr-vs-pandas.html.