Cuando empezamos a estudiar ciencia de datos o análisis de datos nos encontramos con un sin número de herramientas y lenguajes para poder trabajar con los datos. Cada una de estas opciones cuentan con características únicas, con funciones específicas y usos para todos los casos

En este post quise comparar 3 lenguajes diferentes que te vas a encontrar si o si en este mundo.

Los ejemplos de este post son básicos y simples. El objetivo del artículo es enfatizar las similitudes y diferencias entre estas herramientas.

También quería señalar cómo se pueden realizar las mismas operaciones con un conjunto diferente de herramientas. Aunque existen diferencias sintácticas, la lógica detrás de las operaciones y el enfoque para manejar una tarea en particular es bastante similar.

En los siguientes ejemplos, definiré una tarea y la completaré usando la biblioteca Pandas (Python), la biblioteca Data.table (R) y SQL

Primero veamos la base de datos o conjunto de datos que vamos a usar

Vamos con el primer ejemplo

Vamos a encontrar la edad promedio de los animales por cada id 

SQL 

Resultado

+----------+------------+
| tipo_animal| avg(edad) |
+---------- +------------+
| 1 | 1.833333 |
| 2 | 3.820000 |
+---------- +------------+

Python (Pandas)

Resultado

   1         1.833333                 
2 3.820000

R

Resultado

1:        1 1.833333
2: 2 3.820000

Ejemplo 2 

¿Cuál es la edad del animal más alta de tipo 1 (gatos)?

SQL 

Resultado 

+------------+
| max(edad) |
+------------+
| 3.45 |
+------------+

Python (Pandas) 

Resultado

3.45

R

Es posible que hayas notado una pequeña diferencia en la sintaxis de data.table. La función de agregación se especifica con un punto (. (Mean (price)) en el ejemplo anterior pero sin un punto en este ejemplo (max (price)).

El uso de la notación con punto devuelve una tabla, mientras que se devuelve una matriz si se usa sin el punto.

Hemos realizado algunas operaciones básicas de análisis y manipulación de datos. Podemos hacer mucho más con estos lenguajes. De hecho, brindan funciones versátiles y poderosas para completar tareas avanzadas y complejas.

El objetivo de este post es mostrar las similitudes y diferencias entre estos lenguajes. Tener una amplia selección de herramientas/lenguajes puede resultar intimidante, pero todas son capaces de manejar la mayor parte de lo que necesitas. Después de un tiempo, todo se reduce a una decisión basada en tu gusto y comodidad

Muchas gracias 💜