< Return to Video

Lecture 4: Data Wrangling (2020)

  • 0:01 - 0:06
    Bien, bienvenidos a la clase de hoy
  • 0:04 - 0:09
    que va a tratar el manejo de datos.
  • 0:06 - 0:11
    manejo de datos puede que
  • 0:09 - 0:13
    os suene algo raro pero
  • 0:11 - 0:15
    la idea básica del manejo de datos es
  • 0:13 - 0:17
    que, teniendo los datos en un formato,
  • 0:15 - 0:19
    quieres mostrarlos de forma diferente
  • 0:17 - 0:21
    es algo que pasa a menudo. No hablo
  • 0:19 - 0:23
    de algo similar a convertir imágenes sino
  • 0:21 - 0:25
    que es posible que tengas un archivo de
  • 0:23 - 0:27
    texto o un log y lo que quieres es verlo
  • 0:25 - 0:29
    en otro formato, en un
  • 0:27 - 0:32
    gráfico, o quieres ver estadísticas sobre
  • 0:29 - 0:35
    esos datos, cualquier cosa que coja un
  • 0:32 - 0:37
    conjunto de datos y los represente de otra
  • 0:35 - 0:40
    forma; eso es lo que llamaría manejo de
  • 0:37 - 0:42
    datos. Hemos visto ya algunos ejemplos de
  • 0:40 - 0:44
    este tipo de manejo de datos
  • 0:42 - 0:46
    con anterioridad en este semestre
  • 0:44 - 0:48
    básicamente cualquier uso de un
  • 0:46 - 0:50
    operador sobre pipe que ordene o coja
  • 0:48 - 0:51
    la salida de un programa y la introduzca
  • 0:50 - 0:54
    en otro programa, esto es manejo de datos
  • 0:51 - 0:55
    en cierta manera.
  • 0:54 - 0:58
    Lo que vamos a hacer en esta clase
  • 0:55 - 1:00
    es echar un vistazo a algunas formas
    elegantes de
  • 0:58 - 1:02
    manejar datos y algunas
  • 1:00 - 1:06
    muy útiles.
  • 1:02 - 1:07
    Para llevar a cabo cualquier
  • 1:06 - 1:09
    manejo de datos lo que se necesita es
  • 1:07 - 1:12
    una fuente de datos sobre la que operar
  • 1:09 - 1:14
    en primer lugar y hay un gran número de
  • 1:12 - 1:17
    buenas muestras de ello.
  • 1:14 - 1:19
    Damos algunos ejemplos en la sección de
  • 1:17 - 1:21
    ejercicios del apartado de notas de la
    clase de hoy
  • 1:19 - 1:23
    En esta en particular voy a
  • 1:21 - 1:26
    utilizar un log del sistema. Tengo un
    servidor
  • 1:23 - 1:27
    ejecutándose en algún lugar de Holanda
  • 1:26 - 1:30
    porque parecía algo razonable en su
  • 1:27 - 1:33
    momento y, en ese servidor
  • 1:30 - 1:34
    corre un daemon de logging normal
  • 1:33 - 1:37
    que viene con el sistema Deeb.
  • 1:34 - 1:39
    Es un tipo estándar de
  • 1:37 - 1:42
    mecanismo de logging en Linux y
    hay un comando
  • 1:39 - 1:45
    llamado journalctl en los sistemas Linux
  • 1:42 - 1:46
    que te permiten ver dicho log.
  • 1:45 - 1:49
    Así que lo que voy a hacer es
  • 1:46 - 1:50
    algunas modificaciones sobre dicho log
    para ver
  • 1:49 - 1:53
    si puedo sacar algo interesante
  • 1:50 - 1:56
    de él. Veréis que si ejecuto
  • 1:53 - 1:59
    el comando el resultado es un montón de
    datos
  • 1:56 - 2:02
    porque es un log que tiene
  • 1:59 - 2:03
    hay un montón de cosas en él, un montón
  • 2:02 - 2:06
    de cosas que han pasado en el servidor y
  • 2:03 - 2:08
    que se remontan a enero y
  • 2:06 - 2:11
    los logs van incluso más atras
  • 2:08 - 2:12
    hay mucha información así que
  • 2:11 - 2:13
    lo primero que vamos a hacer es tratar de
  • 2:12 - 2:16
    limitarla para que veáis
  • 2:13 - 2:18
    sólo parte del contenido. El comando
    grep
  • 2:16 - 2:20
    es aquí el más adecuado así que vamos
  • 2:18 - 2:23
    a pasarlo a través del pipe y vamos
  • 2:20 - 2:25
    a llamar a SSH. Sobre SSH no hemos
  • 2:23 - 2:27
    hablado todavía pero es
  • 2:25 - 2:29
    una manera de acceder a ordenadores
    de forma remota
  • 2:27 - 2:31
    usando la línea de comandos y en
  • 2:29 - 2:32
    particular lo que pasa cuando pones
  • 2:31 - 2:34
    un servidor público en Internet es que
  • 2:32 - 2:36
    un montón de gente de todo el mundo
  • 2:34 - 2:38
    intenta conectar, loguearse y
  • 2:36 - 2:39
    tomar el servidor. Si quieres
  • 2:38 - 2:41
    ver lo que esta gente intenta hacer
  • 2:39 - 2:45
    y demás, voy a hacer un grep por SSH
  • 2:41 - 2:48
    y veréis como rápidamente se
  • 2:45 - 2:51
    genera un montón de contenido,
  • 2:48 - 2:56
    al menos en teoría. Va a ir
  • 2:51 - 2:59
    lento ... ahí está. Esto genera toneladas
  • 2:56 - 3:00
    y toneladas de contenido y es
  • 2:59 - 3:02
    muy difícil incluso ver
  • 3:00 - 3:05
    qué está pasando, así que vamos a
    observar
  • 3:02 - 3:07
    sólo los nombres de usuario con
    los que la gente
  • 3:05 - 3:10
    intenta loguear en mi servidor, así
    podéis ver
  • 3:07 - 3:13
    que en algunas de estas líneas pone
    desconectado
  • 3:10 - 3:15
    desconectado por usuario inválido y
  • 3:13 - 3:17
    un nombre de usuario. Sólo quiero quedarme
    con esas líneas,
  • 3:15 - 3:19
    es lo único que me interesa, voy a hacer
  • 3:17 - 3:22
    un cambio más aquí que, si
  • 3:19 - 3:26
    pensáis en cómo funciona esta pipeline,
  • 3:22 - 3:29
    si hago esto aquí conectado de esta manera
  • 3:26 - 3:31
    la pipeline del final lo que
  • 3:29 - 3:33
    hará es que mandará entero
  • 3:31 - 3:36
    el archivo de log a traves de la red a mi
    máquina
  • 3:33 - 3:38
    y localmente ejecutará grep para mostrar
    sólo
  • 3:36 - 3:41
    las líneas que contienen ssh y
  • 3:38 - 3:42
    localmente las filtrará todavía más.
    Puede parecer
  • 3:41 - 3:44
    un poco ineficiente porque no me
    importan
  • 3:42 - 3:46
    muchas de estas líneas y el site remoto
  • 3:44 - 3:49
    también está ejecutando una shell,
    así que
  • 3:46 - 3:52
    lo que puedo hacer es ejecutar el
  • 3:49 - 3:54
    comando entero en el servidor
  • 3:52 - 3:55
    así que lo que os digo, el comando SSH
  • 3:54 - 3:57
    que quiero ejecutar en el servidor es
    esta
  • 3:55 - 4:01
    pipeline de tres elementos y lo que
  • 3:57 - 4:03
    obtenga como resultado lo quiero mandar a
    less ya
  • 4:01 - 4:04
    que lo que esta vez hace bien es
  • 4:03 - 4:06
    el mismo filtrado que hicimos antes pero
  • 4:04 - 4:08
    en el lado del servidor y
  • 4:06 - 4:12
    este sólo me va a mandar aquellas
  • 4:08 - 4:13
    líneas que me interesan para que
  • 4:12 - 4:16
    cuando las mande localmente a través del
    programa
  • 4:13 - 4:18
    llamada less ... less es un paginador del
    que veréis
  • 4:16 - 4:19
    algunos ejemplos, de hecho ya habéis visto
  • 4:18 - 4:22
    algunos, por ejemplo al
  • 4:19 - 4:24
    escribir man y algún otro comando que se
    abre en
  • 4:22 - 4:27
    un paginador. Un paginador es una forma
    práctica
  • 4:24 - 4:27
    de coger un extracto largo de cierto
    contenido y adaptarlo
  • 4:27 - 4:30
    a la ventana de tu terminal
  • 4:27 - 4:32
    y permitirte avanzar,
  • 4:30 - 4:33
    retroceder y navegar por él para
  • 4:32 - 4:36
    que no avance por entero
  • 4:33 - 4:37
    por la pantalla, así que, si lo ejecuto
  • 4:36 - 4:41
    va a llevar un tiempo porque tiene que
  • 4:37 - 4:43
    analizar un montón de archivos de log,
  • 4:41 - 4:46
    en particular grep está rellenando un
    buffer
  • 4:43 - 4:47
    lo que resulta ser relativamente
  • 4:46 - 4:56
    de poca ayuda
  • 4:47 - 5:01
    Podría hacer, veamos si esto
  • 4:56 - 5:05
    es más útil, ¿por qué no quiere
  • 5:01 - 5:10
    hacerme el favor? bien, voy a hacer trampa
  • 5:05 - 5:10
    un poco, no me hagáis caso
  • 5:17 - 5:23
    quizá la red va muy lenta,
  • 5:21 - 5:27
    son dos posibles razones, por suerte hay
  • 5:23 - 5:30
    arreglo porque antes he
  • 5:27 - 5:33
    ejecutado el siguiente comando y
  • 5:30 - 5:34
    lo que este comando hace es coger
    la salida
  • 5:33 - 5:37
    de este otro comando y la anexa a un
    archivo
  • 5:34 - 5:39
    local, en mi computadora, bien, así que
    ejecuto
  • 5:37 - 5:41
    esto cuando llego a mi oficina y así
  • 5:39 - 5:43
    lo que esto hizo fue descargar todos
  • 5:41 - 5:46
    los logs de SSH que contenían
  • 5:43 - 5:47
    desconectado de, así que ahora los tengo
    en local
  • 5:46 - 5:49
    lo cual es muy útil. Aquí está,
  • 5:47 - 5:51
    no hay razones para que abra el log entero
  • 5:49 - 5:53
    cada vez porque sé que ese
  • 5:51 - 5:55
    patrón del inicio es lo que me
  • 5:53 - 5:57
    interesa, por lo que echamos un vistazo
  • 5:55 - 5:59
    al SSH punto log y veréis que hay
  • 5:57 - 6:02
    montones y montones de líneas en
  • 5:59 - 6:05
    las que aparece desconectado de usuario
    no válido
  • 6:02 - 6:06
    usuarios autenticados, etc. Bien, aquíe
  • 6:05 - 6:09
    están las líneas sobre las que tenemos que
    trabajar
  • 6:06 - 6:11
    lo que también significa que más adelante
  • 6:09 - 6:12
    no tenemos que pasar por completo por este
  • 6:11 - 6:16
    proceso SSH, simplemente hacemos cat sobre
    este archivo
  • 6:12 - 6:18
    y operamos sobre él directamente
  • 6:16 - 6:22
    puedo mostrar este paginador
  • 6:18 - 6:24
    así que si hago cat s al SSH punto log
  • 6:22 - 6:25
    y lo mando a less, me da una
  • 6:24 - 6:29
    página por la que puedo retroceder y
    avanzar
  • 6:25 - 6:31
    quizá hacer esto un poco más pequeño para
  • 6:29 - 6:33
    poder recorrer el archivo, estropear el
  • 6:31 - 6:36
    archivo y puedo hacer esto que son
  • 6:33 - 6:38
    básicamente atajos de teclado de vim de
    manera que control ] para
  • 6:36 - 6:43
    avanzar, control D para retroceder y
  • 6:38 - 6:45
    q para salir. Hay todavía un montón de
  • 6:43 - 6:47
    contenido y estas líneas contienen un
  • 6:45 - 6:48
    montón de basura en la que no estoy
  • 6:47 - 6:50
    interesado, lo que realmente quiero ver
  • 6:48 - 6:53
    es cuáles son estos nombres de usuario
  • 6:50 - 6:56
    y esta es la herramienta que vamos a
  • 6:53 - 6:59
    empezar a utilizar, llamada sent y que es
  • 6:56 - 7:01
    un editor de flujo que está modificado o
  • 6:59 - 7:04
    es una modificación de un programa
    anterior
  • 7:01 - 7:06
    llamado edie que era un editor muy raro
  • 7:04 - 7:12
    que ninguno de vosotros probablemente
  • 7:06 - 7:16
    querrá utilizar, si, oh, tsp es el nombre
  • 7:12 - 7:16
    de la computadora remota a la que estoy
    conectando
  • 7:16 - 7:24
    como he dicho un editor de flujo y
  • 7:20 - 7:26
    básicamente lo que te permite es cambiar
  • 7:24 - 7:28
    el contenido de un flujo, puedes pensar
    que
  • 7:26 - 7:30
    es un poco como hacer cambios pero
  • 7:28 - 7:30
    en realidad es un completo lenguaje
  • 7:30 - 7:33
    de programación
  • 7:30 - 7:35
  • 7:33 - 7:38
  • 7:35 - 7:41
  • 7:38 - 7:45
  • 7:41 - 7:45
  • 7:45 - 7:50
  • 7:48 - 7:53
  • 7:50 - 7:58
  • 7:53 - 8:01
  • 7:58 - 8:04
  • 8:01 - 8:06
  • 8:04 - 8:07
  • 8:06 - 8:10
  • 8:07 - 8:12
  • 8:10 - 8:14
  • 8:12 - 8:15
  • 8:14 - 8:18
  • 8:15 - 8:20
  • 8:18 - 8:22
  • 8:20 - 8:26
  • 8:22 - 8:28
  • 8:26 - 8:31
  • 8:28 - 8:32
  • 8:31 - 8:34
  • 8:32 - 8:36
  • 8:34 - 8:40
  • 8:36 - 8:41
  • 8:40 - 8:43
  • 8:41 - 8:45
  • 8:43 - 8:50
  • 8:45 - 8:52
  • 8:50 - 8:55
  • 8:52 - 8:58
  • 8:55 - 8:59
  • 8:58 - 9:02
  • 8:59 - 9:04
  • 9:02 - 9:05
  • 9:04 - 9:07
  • 9:05 - 9:08
  • 9:07 - 9:10
  • 9:08 - 9:13
  • 9:10 - 9:16
  • 9:13 - 9:18
  • 9:16 - 9:20
  • 9:18 - 9:23
  • 9:20 - 9:27
  • 9:23 - 9:30
  • 9:27 - 9:32
  • 9:30 - 9:34
  • 9:32 - 9:37
  • 9:34 - 9:40
  • 9:37 - 9:42
  • 9:40 - 9:46
  • 9:42 - 9:49
  • 9:46 - 9:52
  • 9:49 - 9:54
  • 9:52 - 9:58
  • 9:54 - 10:00
  • 9:58 - 10:03
  • 10:00 - 10:06
  • 10:03 - 10:08
  • 10:06 - 10:09
  • 10:08 - 10:12
  • 10:09 - 10:12
  • 10:12 - 10:15
  • 10:12 - 10:16
  • 10:15 - 10:18
  • 10:16 - 10:19
  • 10:18 - 10:23
  • 10:19 - 10:25
  • 10:23 - 10:27
  • 10:25 - 10:30
  • 10:27 - 10:36
  • 10:30 - 10:42
  • 10:36 - 10:44
  • 10:42 - 10:47
  • 10:44 - 10:50
  • 10:47 - 10:53
  • 10:50 - 10:54
  • 10:53 - 10:56
  • 10:54 - 10:58
  • 10:56 - 11:00
  • 10:58 - 11:02
  • 11:00 - 11:04
  • 11:02 - 11:07
  • 11:04 - 11:09
  • 11:07 - 11:12
  • 11:09 - 11:14
  • 11:12 - 11:16
  • 11:14 - 11:19
  • 11:16 - 11:21
  • 11:19 - 11:23
  • 11:21 - 11:24
  • 11:23 - 11:26
  • 11:24 - 11:34
  • 11:26 - 11:38
  • 11:34 - 11:38
  • 11:42 - 11:52
  • 11:47 - 11:53
  • 11:52 - 11:55
  • 11:53 - 11:57
  • 11:55 - 12:00
  • 11:57 - 12:02
  • 12:00 - 12:10
  • 12:02 - 12:12
  • 12:10 - 12:12
  • 12:12 - 12:18
  • 12:15 - 12:20
  • 12:18 - 12:22
  • 12:20 - 12:24
  • 12:22 - 12:26
  • 12:24 - 12:29
  • 12:26 - 12:31
  • 12:29 - 12:33
  • 12:31 - 12:36
  • 12:33 - 12:37
  • 12:36 - 12:40
  • 12:37 - 12:44
  • 12:40 - 12:46
  • 12:44 - 12:49
  • 12:46 - 12:51
  • 12:49 - 12:54
  • 12:51 - 12:56
  • 12:54 - 12:58
  • 12:56 - 13:01
  • 12:58 - 13:07
  • 13:01 - 13:11
  • 13:07 - 13:12
  • 13:11 - 13:15
  • 13:12 - 13:18
  • 13:15 - 13:20
  • 13:18 - 13:23
  • 13:20 - 13:26
  • 13:23 - 13:29
  • 13:26 - 13:32
  • 13:29 - 13:34
  • 13:32 - 13:36
  • 13:34 - 13:38
  • 13:36 - 13:40
  • 13:38 - 13:42
  • 13:40 - 13:43
  • 13:42 - 13:45
  • 13:43 - 13:48
  • 13:45 - 13:50
  • 13:48 - 13:52
  • 13:50 - 13:53
  • 13:52 - 13:56
  • 13:53 - 13:57
  • 13:56 - 14:00
  • 13:57 - 14:02
  • 14:00 - 14:05
  • 14:02 - 14:09
  • 14:05 - 14:12
  • 14:09 - 14:15
  • 14:12 - 14:21
  • 14:15 - 14:30
  • 14:21 - 14:33
  • 14:30 - 14:34
  • 14:33 - 14:39
  • 14:34 - 14:44
  • 14:39 - 14:47
  • 14:44 - 14:50
  • 14:47 - 14:54
  • 14:50 - 14:54
  • 14:54 - 15:05
  • 15:03 - 15:08
  • 15:05 - 15:11
  • 15:08 - 15:12
  • 15:11 - 15:14
  • 15:12 - 15:17
  • 15:14 - 15:20
  • 15:17 - 15:22
  • 15:20 - 15:25
  • 15:22 - 15:27
  • 15:25 - 15:29
  • 15:27 - 15:31
  • 15:29 - 15:33
  • 15:31 - 15:34
  • 15:33 - 15:36
  • 15:34 - 15:38
  • 15:36 - 15:40
  • 15:38 - 15:41
  • 15:40 - 15:44
  • 15:41 - 15:48
  • 15:44 - 15:57
  • 15:48 - 16:01
  • 15:57 - 16:03
  • 16:01 - 16:05
  • 16:03 - 16:07
  • 16:05 - 16:10
  • 16:07 - 16:15
  • 16:10 - 16:17
  • 16:15 - 16:19
  • 16:17 - 16:22
  • 16:19 - 16:26
  • 16:22 - 16:31
  • 16:26 - 16:34
  • 16:31 - 16:37
  • 16:34 - 16:40
  • 16:37 - 16:43
  • 16:40 - 16:46
  • 16:43 - 16:50
  • 16:46 - 16:53
  • 16:50 - 16:58
  • 16:53 - 17:00
  • 16:58 - 17:03
  • 17:00 - 17:08
  • 17:03 - 17:09
  • 17:08 - 17:10
  • 17:09 - 17:12
  • 17:10 - 17:13
  • 17:12 - 17:16
  • 17:13 - 17:18
  • 17:16 - 17:20
  • 17:18 - 17:22
  • 17:20 - 17:25
  • 17:22 - 17:28
  • 17:25 - 17:30
  • 17:28 - 17:33
  • 17:30 - 17:35
  • 17:33 - 17:38
  • 17:35 - 17:41
  • 17:38 - 17:43
  • 17:41 - 17:44
  • 17:43 - 17:47
  • 17:44 - 17:50
  • 17:47 - 17:52
  • 17:50 - 17:54
  • 17:52 - 17:57
  • 17:54 - 18:03
  • 17:57 - 18:05
  • 18:03 - 18:07
  • 18:05 - 18:11
  • 18:07 - 18:12
  • 18:11 - 18:14
  • 18:12 - 18:17
  • 18:14 - 18:19
  • 18:17 - 18:20
  • 18:19 - 18:25
  • 18:20 - 18:27
  • 18:25 - 18:31
  • 18:27 - 18:35
  • 18:31 - 18:37
  • 18:35 - 18:39
  • 18:37 - 18:41
  • 18:39 - 18:44
  • 18:41 - 18:46
  • 18:44 - 18:49
  • 18:46 - 18:50
  • 18:49 - 18:53
  • 18:50 - 18:56
  • 18:53 - 19:00
  • 18:56 - 19:04
  • 19:00 - 19:07
  • 19:04 - 19:10
  • 19:07 - 19:12
  • 19:10 - 19:14
  • 19:12 - 19:17
  • 19:14 - 19:19
  • 19:17 - 19:21
  • 19:19 - 19:23
  • 19:21 - 19:25
  • 19:23 - 19:27
  • 19:25 - 19:29
  • 19:27 - 19:33
  • 19:29 - 19:35
  • 19:33 - 19:37
  • 19:35 - 19:38
  • 19:37 - 19:41
  • 19:38 - 19:44
  • 19:41 - 19:46
  • 19:44 - 19:48
  • 19:46 - 19:50
  • 19:48 - 19:53
  • 19:50 - 19:55
  • 19:53 - 19:57
  • 19:55 - 20:00
  • 19:57 - 20:03
  • 20:00 - 20:06
  • 20:03 - 20:09
  • 20:06 - 20:10
  • 20:09 - 20:12
  • 20:10 - 20:14
  • 20:12 - 20:16
  • 20:14 - 20:20
  • 20:16 - 20:22
  • 20:20 - 20:25
  • 20:22 - 20:28
  • 20:25 - 20:32
  • 20:28 - 20:34
  • 20:32 - 20:37
  • 20:34 - 20:43
  • 20:37 - 20:46
  • 20:43 - 20:48
  • 20:46 - 20:52
  • 20:48 - 20:54
  • 20:52 - 20:57
  • 20:54 - 20:59
  • 20:57 - 21:01
  • 20:59 - 21:04
  • 21:01 - 21:05
  • 21:04 - 21:07
  • 21:05 - 21:11
  • 21:07 - 21:15
  • 21:11 - 21:17
  • 21:15 - 21:19
  • 21:17 - 21:21
  • 21:19 - 21:23
  • 21:21 - 21:26
  • 21:23 - 21:28
  • 21:26 - 21:31
  • 21:28 - 21:36
  • 21:31 - 21:41
  • 21:36 - 21:45
  • 21:41 - 21:47
  • 21:45 - 21:50
  • 21:47 - 21:54
  • 21:50 - 21:56
  • 21:54 - 21:59
  • 21:56 - 22:03
  • 21:59 - 22:07
  • 22:03 - 22:14
  • 22:07 - 22:15
  • 22:14 - 22:18
  • 22:15 - 22:22
  • 22:18 - 22:24
  • 22:22 - 22:27
  • 22:24 - 22:30
  • 22:27 - 22:32
  • 22:30 - 22:36
  • 22:32 - 22:39
  • 22:36 - 22:41
  • 22:39 - 22:43
  • 22:41 - 22:44
  • 22:43 - 22:46
  • 22:44 - 22:48
  • 22:46 - 22:49
  • 22:48 - 22:52
  • 22:49 - 22:57
  • 22:52 - 22:59
  • 22:57 - 23:01
  • 22:59 - 23:03
  • 23:01 - 23:05
  • 23:03 - 23:07
  • 23:05 - 23:09
  • 23:07 - 23:11
  • 23:09 - 23:13
  • 23:11 - 23:15
  • 23:13 - 23:16
  • 23:15 - 23:18
  • 23:16 - 23:20
  • 23:18 - 23:22
  • 23:20 - 23:24
  • 23:22 - 23:26
  • 23:24 - 23:27
  • 23:26 - 23:29
  • 23:27 - 23:31
  • 23:29 - 23:33
  • 23:31 - 23:34
  • 23:33 - 23:37
  • 23:34 - 23:37
  • 23:41 - 23:48
  • 23:44 - 23:59
  • 23:48 - 24:01
  • 23:59 - 24:05
  • 24:01 - 24:10
  • 24:05 - 24:12
  • 24:10 - 24:14
  • 24:12 - 24:16
  • 24:14 - 24:18
  • 24:16 - 24:31
  • 24:18 - 24:34
  • 24:31 - 24:36
  • 24:34 - 24:39
  • 24:36 - 24:42
  • 24:39 - 24:44
  • 24:42 - 24:48
  • 24:44 - 24:51
  • 24:48 - 24:54
  • 24:51 - 24:56
  • 24:54 - 24:59
  • 24:56 - 25:01
  • 24:59 - 25:03
  • 25:01 - 25:06
  • 25:03 - 25:08
  • 25:06 - 25:21
  • 25:08 - 25:25
  • 25:21 - 25:26
  • 25:25 - 25:29
  • 25:26 - 25:31
  • 25:29 - 25:34
  • 25:31 - 25:35
  • 25:34 - 25:37
  • 25:35 - 25:40
  • 25:37 - 25:41
  • 25:40 - 25:43
  • 25:41 - 25:46
  • 25:43 - 25:47
  • 25:46 - 25:49
  • 25:47 - 25:52
  • 25:49 - 25:57
  • 25:52 - 25:58
  • 25:57 - 26:01
  • 25:58 - 26:03
  • 26:01 - 26:04
  • 26:03 - 26:06
  • 26:04 - 26:09
  • 26:06 - 26:11
  • 26:09 - 26:14
  • 26:11 - 26:16
  • 26:14 - 26:18
  • 26:16 - 26:22
  • 26:18 - 26:25
  • 26:22 - 26:26
  • 26:25 - 26:27
  • 26:26 - 26:29
  • 26:27 - 26:32
  • 26:29 - 26:33
  • 26:32 - 26:35
  • 26:33 - 26:38
  • 26:35 - 26:40
  • 26:38 - 26:42
  • 26:40 - 26:43
  • 26:42 - 26:44
  • 26:43 - 26:46
  • 26:44 - 26:51
  • 26:46 - 26:52
  • 26:51 - 26:55
  • 26:52 - 26:58
  • 26:55 - 27:01
  • 26:58 - 27:03
  • 27:01 - 27:06
  • 27:03 - 27:08
  • 27:06 - 27:11
  • 27:08 - 27:14
  • 27:11 - 27:16
  • 27:14 - 27:18
  • 27:16 - 27:20
  • 27:18 - 27:22
  • 27:20 - 27:24
  • 27:22 - 27:26
  • 27:24 - 27:29
  • 27:26 - 27:31
  • 27:29 - 27:35
  • 27:31 - 27:38
  • 27:35 - 27:40
  • 27:38 - 27:42
  • 27:40 - 27:44
  • 27:42 - 27:50
  • 27:44 - 27:53
  • 27:50 - 27:55
  • 27:53 - 27:57
  • 27:55 - 28:02
  • 27:57 - 28:04
  • 28:02 - 28:06
  • 28:04 - 28:08
  • 28:06 - 28:10
  • 28:08 - 28:16
  • 28:10 - 28:16
  • 28:16 - 28:21
  • 28:18 - 28:23
  • 28:21 - 28:26
  • 28:23 - 28:28
  • 28:26 - 28:30
  • 28:28 - 28:32
  • 28:30 - 28:37
  • 28:32 - 28:38
  • 28:37 - 28:40
  • 28:38 - 28:43
  • 28:40 - 28:45
  • 28:43 - 28:46
  • 28:45 - 28:49
  • 28:46 - 28:50
  • 28:49 - 28:53
  • 28:50 - 28:55
  • 28:53 - 28:57
  • 28:55 - 29:00
  • 28:57 - 29:03
  • 29:00 - 29:08
  • 29:03 - 29:10
  • 29:08 - 29:12
  • 29:10 - 29:14
  • 29:12 - 29:17
  • 29:14 - 29:19
  • 29:17 - 29:21
  • 29:19 - 29:24
  • 29:21 - 29:25
  • 29:24 - 29:27
  • 29:25 - 29:31
  • 29:27 - 29:33
  • 29:31 - 29:35
  • 29:33 - 29:37
  • 29:35 - 29:41
  • 29:37 - 29:44
  • 29:41 - 29:46
  • 29:44 - 29:48
  • 29:46 - 29:52
  • 29:48 - 29:56
  • 29:52 - 30:00
  • 29:56 - 30:01
  • 30:00 - 30:03
  • 30:01 - 30:06
  • 30:03 - 30:08
  • 30:06 - 30:11
  • 30:08 - 30:11
  • 30:13 - 30:17
  • 30:15 - 30:20
  • 30:17 - 30:23
  • 30:20 - 30:25
  • 30:23 - 30:29
  • 30:25 - 30:31
  • 30:29 - 30:36
  • 30:31 - 30:39
  • 30:36 - 30:41
  • 30:39 - 30:44
  • 30:41 - 30:46
  • 30:44 - 30:48
  • 30:46 - 30:50
  • 30:48 - 30:52
  • 30:50 - 30:54
  • 30:52 - 30:58
  • 30:54 - 31:02
  • 30:58 - 31:07
  • 31:02 - 31:09
  • 31:07 - 31:10
  • 31:09 - 31:15
  • 31:10 - 31:17
  • 31:15 - 31:21
  • 31:17 - 31:22
  • 31:21 - 31:25
  • 31:22 - 31:26
  • 31:25 - 31:30
  • 31:26 - 31:34
  • 31:30 - 31:36
  • 31:34 - 31:38
  • 31:36 - 31:41
  • 31:38 - 31:44
  • 31:41 - 31:47
  • 31:44 - 31:51
  • 31:47 - 31:51
  • 31:51 - 31:57
  • 31:53 - 31:59
  • 31:57 - 32:01
  • 31:59 - 32:02
  • 32:01 - 32:04
  • 32:02 - 32:06
  • 32:04 - 32:07
  • 32:06 - 32:09
  • 32:07 - 32:11
  • 32:09 - 32:13
  • 32:11 - 32:16
  • 32:13 - 32:19
  • 32:16 - 32:22
  • 32:19 - 32:24
  • 32:22 - 32:26
  • 32:24 - 32:28
  • 32:26 - 32:29
  • 32:28 - 32:36
  • 32:29 - 32:38
  • 32:36 - 32:40
  • 32:38 - 32:43
  • 32:40 - 32:45
  • 32:43 - 32:47
  • 32:45 - 32:50
  • 32:47 - 32:53
  • 32:50 - 32:57
  • 32:53 - 32:57
  • 32:58 - 33:03
  • 33:01 - 33:07
  • 33:03 - 33:10
  • 33:07 - 33:12
  • 33:10 - 33:16
  • 33:12 - 33:19
  • 33:16 - 33:21
  • 33:19 - 33:23
  • 33:21 - 33:26
  • 33:23 - 33:28
  • 33:26 - 33:30
  • 33:28 - 33:32
  • 33:30 - 33:33
  • 33:32 - 33:38
  • 33:33 - 33:40
  • 33:38 - 33:43
  • 33:40 - 33:46
  • 33:43 - 33:49
  • 33:46 - 33:52
  • 33:49 - 33:54
  • 33:52 - 33:56
  • 33:54 - 33:58
  • 33:56 - 33:59
  • 33:58 - 34:00
  • 33:59 - 34:04
  • 34:00 - 34:06
  • 34:04 - 34:09
  • 34:06 - 34:13
  • 34:09 - 34:16
  • 34:13 - 34:19
  • 34:16 - 34:21
  • 34:19 - 34:23
  • 34:21 - 34:25
  • 34:23 - 34:29
  • 34:25 - 34:32
  • 34:29 - 34:32
  • 34:32 - 34:34
  • 34:32 - 34:37
  • 34:34 - 34:41
  • 34:37 - 34:51
  • 34:41 - 34:57
  • 34:51 - 35:00
  • 34:57 - 35:02
  • 35:00 - 35:04
  • 35:02 - 35:06
  • 35:04 - 35:11
  • 35:06 - 35:15
  • 35:11 - 35:15
  • 35:20 - 35:32
  • 35:26 - 35:34
  • 35:32 - 35:36
  • 35:34 - 35:39
  • 35:36 - 35:43
  • 35:39 - 35:45
  • 35:43 - 35:47
  • 35:45 - 35:48
  • 35:47 - 35:50
  • 35:48 - 35:52
  • 35:50 - 35:53
  • 35:52 - 35:55
  • 35:53 - 35:58
  • 35:55 - 36:00
  • 35:58 - 36:03
  • 36:00 - 36:05
  • 36:03 - 36:06
  • 36:05 - 36:09
  • 36:06 - 36:18
  • 36:09 - 36:22
  • 36:18 - 36:27
  • 36:22 - 36:29
  • 36:27 - 36:31
  • 36:29 - 36:33
  • 36:31 - 36:37
  • 36:33 - 36:40
  • 36:37 - 36:42
  • 36:40 - 36:45
  • 36:42 - 36:47
  • 36:45 - 36:49
  • 36:47 - 36:53
  • 36:49 - 36:53
  • 36:54 - 37:02
  • 36:57 - 37:05
  • 37:02 - 37:05
  • 37:07 - 37:18
  • 37:14 - 37:20
  • 37:18 - 37:23
  • 37:20 - 37:26
  • 37:23 - 37:28
  • 37:26 - 37:30
  • 37:28 - 37:32
  • 37:30 - 37:34
  • 37:32 - 37:37
  • 37:34 - 37:40
  • 37:37 - 37:42
  • 37:40 - 37:45
  • 37:42 - 37:47
  • 37:45 - 37:50
  • 37:47 - 37:53
  • 37:50 - 37:56
  • 37:53 - 37:57
  • 37:56 - 37:59
  • 37:57 - 38:01
  • 37:59 - 38:03
  • 38:01 - 38:05
  • 38:03 - 38:08
  • 38:05 - 38:09
  • 38:08 - 38:11
  • 38:09 - 38:13
  • 38:11 - 38:18
  • 38:13 - 38:23
  • 38:18 - 38:25
  • 38:23 - 38:27
  • 38:25 - 38:28
  • 38:27 - 38:31
  • 38:28 - 38:35
  • 38:31 - 38:37
  • 38:35 - 38:39
  • 38:37 - 38:41
  • 38:39 - 38:45
  • 38:41 - 38:50
  • 38:45 - 38:51
  • 38:50 - 38:54
  • 38:51 - 38:56
  • 38:54 - 38:59
  • 38:56 - 39:01
  • 38:59 - 39:05
  • 39:01 - 39:07
  • 39:05 - 39:11
  • 39:07 - 39:16
  • 39:11 - 39:17
  • 39:16 - 39:20
  • 39:17 - 39:21
  • 39:20 - 39:26
  • 39:21 - 39:32
  • 39:26 - 39:35
  • 39:32 - 39:37
  • 39:35 - 39:40
  • 39:37 - 39:44
  • 39:40 - 39:49
  • 39:44 - 39:51
  • 39:49 - 39:53
  • 39:51 - 39:55
  • 39:53 - 39:57
  • 39:55 - 39:59
  • 39:57 - 40:02
  • 39:59 - 40:06
  • 40:02 - 40:08
  • 40:06 - 40:12
  • 40:08 - 40:14
  • 40:12 - 40:19
  • 40:14 - 40:21
  • 40:19 - 40:23
  • 40:21 - 40:26
  • 40:23 - 40:28
  • 40:26 - 40:30
  • 40:28 - 40:34
  • 40:30 - 40:36
  • 40:34 - 40:38
  • 40:36 - 40:41
  • 40:38 - 40:44
  • 40:41 - 40:46
  • 40:44 - 40:50
  • 40:46 - 40:55
  • 40:50 - 40:56
  • 40:55 - 40:58
  • 40:56 - 41:02
  • 40:58 - 41:04
  • 41:02 - 41:06
  • 41:04 - 41:10
  • 41:06 - 41:13
  • 41:10 - 41:14
  • 41:13 - 41:24
  • 41:14 - 41:26
  • 41:24 - 41:30
  • 41:26 - 41:33
  • 41:30 - 41:34
  • 41:33 - 41:36
  • 41:34 - 41:39
  • 41:36 - 41:41
  • 41:39 - 41:42
  • 41:41 - 41:44
  • 41:42 - 41:46
  • 41:44 - 41:47
  • 41:46 - 41:49
  • 41:47 - 41:53
  • 41:49 - 41:54
  • 41:53 - 41:58
  • 41:54 - 42:01
  • 41:58 - 42:06
  • 42:01 - 42:12
  • 42:06 - 42:18
  • 42:12 - 42:19
  • 42:18 - 42:22
  • 42:19 - 42:24
  • 42:22 - 42:26
  • 42:24 - 42:31
  • 42:26 - 42:34
  • 42:31 - 42:37
  • 42:34 - 42:41
  • 42:37 - 42:44
  • 42:41 - 42:45
  • 42:44 - 42:49
  • 42:45 - 42:49
  • 42:51 - 42:55
  • 42:54 - 42:56
  • 42:55 - 42:58
  • 42:56 - 43:02
  • 42:58 - 43:08
  • 43:02 - 43:09
  • 43:08 - 43:11
  • 43:09 - 43:14
  • 43:11 - 43:18
  • 43:14 - 43:18
  • 43:19 - 43:23
  • 43:22 - 43:25
  • 43:23 - 43:26
  • 43:25 - 43:29
  • 43:26 - 43:30
  • 43:29 - 43:32
  • 43:30 - 43:34
  • 43:32 - 43:36
  • 43:34 - 43:38
  • 43:36 - 43:39
  • 43:38 - 43:43
  • 43:39 - 43:46
  • 43:43 - 43:48
  • 43:46 - 43:50
  • 43:48 - 43:52
  • 43:50 - 43:55
  • 43:52 - 43:57
  • 43:55 - 43:59
  • 43:57 - 44:01
  • 43:59 - 44:04
  • 44:01 - 44:06
  • 44:04 - 44:09
  • 44:06 - 44:12
  • 44:09 - 44:14
  • 44:12 - 44:15
  • 44:14 - 44:16
  • 44:15 - 44:18
  • 44:16 - 44:22
  • 44:18 - 44:25
  • 44:22 - 44:30
  • 44:25 - 44:32
  • 44:30 - 44:35
  • 44:32 - 44:38
  • 44:35 - 44:43
  • 44:38 - 44:45
  • 44:43 - 44:48
  • 44:45 - 44:53
  • 44:48 - 44:56
  • 44:53 - 44:58
  • 44:56 - 44:59
  • 44:58 - 45:01
  • 44:59 - 45:04
  • 45:01 - 45:11
  • 45:04 - 45:15
  • 45:11 - 45:18
  • 45:15 - 45:21
  • 45:18 - 45:24
  • 45:21 - 45:27
  • 45:24 - 45:31
  • 45:27 - 45:33
  • 45:31 - 45:34
  • 45:33 - 45:36
  • 45:34 - 45:39
  • 45:36 - 45:42
  • 45:39 - 45:44
  • 45:42 - 45:46
  • 45:44 - 45:48
  • 45:46 - 45:51
  • 45:48 - 45:53
  • 45:51 - 45:56
  • 45:53 - 45:58
  • 45:56 - 45:59
  • 45:58 - 46:01
  • 45:59 - 46:01
  • 46:01 - 46:04
  • 46:01 - 46:07
  • 46:04 - 46:10
  • 46:07 - 46:12
  • 46:10 - 46:15
  • 46:12 - 46:17
  • 46:15 - 46:20
  • 46:17 - 46:23
  • 46:20 - 46:24
  • 46:23 - 46:27
  • 46:24 - 46:31
  • 46:27 - 46:35
  • 46:31 - 46:37
  • 46:35 - 46:40
  • 46:37 - 46:43
  • 46:40 - 46:46
  • 46:43 - 46:48
  • 46:46 - 46:50
  • 46:48 - 46:53
  • 46:50 - 46:54
  • 46:53 - 46:56
  • 46:54 - 46:59
  • 46:56 - 47:01
  • 46:59 - 47:03
  • 47:01 - 47:06
  • 47:03 - 47:08
  • 47:06 - 47:12
  • 47:08 - 47:16
  • 47:12 - 47:19
  • 47:16 - 47:22
  • 47:19 - 47:25
  • 47:22 - 47:29
  • 47:25 - 47:31
  • 47:29 - 47:33
  • 47:31 - 47:38
  • 47:33 - 47:41
  • 47:38 - 47:44
  • 47:41 - 47:47
  • 47:44 - 47:49
  • 47:47 - 47:51
  • 47:49 - 47:56
  • 47:51 - 47:58
  • 47:56 - 48:01
  • 47:58 - 48:05
  • 48:01 - 48:07
  • 48:05 - 48:09
  • 48:07 - 48:13
  • 48:09 - 48:15
  • 48:13 - 48:18
  • 48:15 - 48:21
  • 48:18 - 48:23
  • 48:21 - 48:26
  • 48:23 - 48:29
  • 48:26 - 48:38
  • 48:29 - 48:41
  • 48:38 - 48:44
  • 48:41 - 48:46
  • 48:44 - 48:48
  • 48:46 - 48:50
  • 48:48 - 48:52
  • 48:50 - 48:55
  • 48:52 - 48:58
  • 48:55 - 49:01
  • 48:58 - 49:03
  • 49:01 - 49:05
  • 49:03 - 49:09
  • 49:05 - 49:13
  • 49:09 - 49:15
  • 49:13 - 49:17
  • 49:15 - 49:19
  • 49:17 - 49:21
  • 49:19 - 49:22
  • 49:21 - 49:25
  • 49:22 - 49:27
  • 49:25 - 49:29
  • 49:27 - 49:30
  • 49:29 - 49:32
  • 49:30 - 49:34
  • 49:32 - 49:36
  • 49:34 - 49:39
  • 49:36 - 49:41
  • 49:39 - 49:43
  • 49:41 - 49:45
  • 49:43 - 49:47
  • 49:45 - 49:51
  • 49:47 - 49:53
  • 49:51 - 49:55
  • 49:53 - 49:57
  • 49:55 - 49:59
  • 49:57 - 50:00
  • 49:59 - 50:03
  • 50:00 - 50:03
Title:
Lecture 4: Data Wrangling (2020)
Description:

more » « less
Video Language:
English
Duration:
50:04

Spanish subtitles

Incomplete

Revisions