Data wrangling

Autor: Julià Minguillón

Els textos i imatges publicats en aquesta obra estan subjectes (llevat que s'indiqui el contrari) a una llicència de Reconeixement-Compartir igual (BY-SA) v.3.0 Espanya de Creative Commons. Podeu modificar l'obra, reproduirla, distribuir-la o comunicar-la públicament sempre que en citeu l'autor i la font (FUOC. Fundació per a la Universitat Oberta de Catalunya), i sempre que l'obra derivada quedi subjecta a la mateixa llicència que el material original. La llicència completa es pot consultar a http://creativecommons.org/licenses/by-sa/3.0/es/legalcode.ca

1. Cicle de vida

Descripció

El concepte de data wrangling inclou totes les manipulacions que es fan sobre conjunts de dades «en cru» (tal com s’han aconseguit) per convertir-les en un o més fitxers adequats per a l’anàlisi posterior, aplicant tècniques pròpies de bases de dades, però també operacions senzilles que es poden fer des de la línia de comandes del sistema operatiu o des de llenguatges de programació com R o Python. Aquesta tasca, de les primeres que cal fer en qualsevol projecte de ciència de dades, consumeix molt de temps i esforços necessaris per poder obtenir resultats bons després. De fet, el mot wrangling en anglès ja vol dir ‘haver-se de barallar per a obtenir alguna cosa’.

A la pràctica, això vol dir haver d’inspeccionar els fitxers en cru per detectar possibles problemes a escala de registre o de variable (per exemple, la presència de valors extrems fora d’escala o la seva absència), de fusionar diversos conjunts de dades en un de sol, canviar l’estructura de fitxers (el que es coneix com a pivotar), etc. Fent un símil amb la cuina, es tractaria d’agafar els ingredients que hem comprat al mercat, destriar els inservibles, netejar-los, tallar-los com correspongui i cuinar, per exemple, un brou necessari per fer després un arròs.

Enllaç al recurs

https://en.wikipedia.org/wiki/Data_wrangling

Exemple d’ús

Suposem que tenim un fitxer que ens diu, per cada estudiant, de quines assignatures s’ha matriculat un semestre i a quin grau (alguns estudiants fan dos graus o més a la vegada), amb una filera per estudiant, semestre, assignatura i grau, per exemple:

estudiant;semestre;assignatura;grau
est_1;sem;ass_1;grau_X
est_1;sem;ass_2;grau_X
est_1;sem;ass_3;grau_X
est_2;sem;ass_1;grau_X
est_2;sem;ass_2;grau_Y

Una operació típica de data wrangling seria convertir aquest fitxer en un altre amb el format següent:

estudiant;semestre;numGraus;grau;numAss;assignatura1;assignatura2;...;assignaturaN
est_1;sem;1;grau_X;3;ass_1;ass_2;ass_3
est_2;sem;2;grau_X;1;ass_1
est_2;sem;2;grau_Y;1;ass_2

en què cada línia ens diu, per cada estudiant i semestre, de quants graus s’ha matriculat, de quin grau i les assignatures matriculades a aquell grau. Aquest format intermedi pot ser emprat per altres scripts per generar, per exemple, un altre fitxer amb totes les combinacions d’assignatures matriculades pels usuaris en un mateix grau, per analitzar co-ocurrències de matrícula, amb l’objectiu de predir les necessitats docents, però també la possibilitat de construir «recomanadors» de matrícula.

A més, aquest script que fa la conversió entre formats (perquè òbviament es podria anar d’un format a l’altre sense problemes, en aquest exemple no hi ha cap pèrdua d’informació) també podria comprovar certes coses, com ara que no hi ha graus repetits o assignatures repetides, o que tant l’assignatura com el grau s’ofereixen aquell semestre, i així reforça la consistència de les dades.

En l’assignatura Captura i preparació de dades, del grau de Ciència de Dades Aplicada, de la UOC, podreu aprendre a treballar amb dades en cru i preparar-les per l’anàlisi posterior.

Enllaços relacionats

Curs d’IBM a Coursera sobre data wrangling: https://www.coursera.org/lecture/introduction-al-analisis-de-datos/que-es-data-wrangling-uwVMl

Curs d’IBM a Coursera amb eines per a data wrangling: https://www.coursera.org/lecture/introduction-to-data-analytics/tools-for-data-wrangling-QpHrp