Skip to main content

Datos temporales en Python 2025

(00:00) Hola, muy buenos días a todas y todos los participantes en este en este Ocean Hack Week de formación. Les hablo desde el centro de formación de Antigua Guatemala, centro de formación de la cooperación española, que está especializado en temas de medio ambiente y por eso acogemos esta actividad. Eh, es un es un honor por mi parte en representación de la directora Elena Diego Castellano, daros la bienvenida a este taller de formación. (00:38) Eh, me alegra especialmente que sea eh crear que el foco sea crear ciencia en español, que nos reunamos todos los países hispanohablantes y junto con Brasil también luso hablantes para eh formar a personas los códigos de acceso libre y en entornos abiertos y gratuitos para poder colaborar y compartir ciencia con el foco puesto en el OBS 14 de Vida Submarina. En ese sentido, me permito invitar a a la organizadora de este de este evento, a doña Marian Peña del Centro Oceanográfico de Baleares y representante también del Instituto (01:35) Español de Oceanografía de del Centro Superior de Investigaciones Científicas de España, que dará más detalles de de estas dos semanas de formación que van a tener y que espero que que puedan aprovechar para aprender, crear redes y colaborar para crear ciencia a favor de de los mares. Muchas gracias, Marian. Muchas gracias por la presentación. Antes de comenzar, eh creo que Zaira también de la ECIT os quería comentar un par de cositas. No sé si ahora es buen momento, Zaira, para que lo comentes. (02:20) Buenos días a todos y a todas. Antes de iniciar nuestra sesión, agradecemos puedan mantener sus cámaras encendidas a lo largo de la sesión y estar al pendiente del enlace de asistencia que se coloca en el chat de Teams. Gracias y bienvenidos. Muchas gracias. Bueno, he compartido pantalla si me podéis confirmar que la podéis ver. Confirmado. Muy bien. Muchas gracias a todos. Eh, pues buenos días, buenas tardes a todos. (02:55) Casi todos buenos días, entiendo. Eh, bienvenidos a esta nueva edición del curso de Ostran Week en español, en este caso un taller de formación intermedia. Eh, y bueno, como os han comentado, soy científica titular del IEO. Os quería, os he puesto aquí en el mapita donde estoy localizado en en el mapa. Trabajo desde Palma, igual que alguna de los compañeros que veréis a continuación en la isla de Mallorca, que está aquí al (03:19) este de la península ibérica. Y como os comentaban, bueno, primero dar una breve presentación de los integrantes de los Shanghawik en español. No voy a hablar en detalle de cada uno de ellos porque creo que es mejor que cada uno se presente al comienzo de su tutoría y va explicar mucho mejor cuál es su especialidad, su experiencia en en Hwek en español y en general eh dando cursos de taller de de lenguajes de programación eh abiertos (03:51) como son R y Python. Pero bueno, como podéis ver aquí, pues somos un grupo muy diverso de integrantes hispanohablantes, tanto del lado americano como del lado europeo y también con cierta diversidad de países, México, Argentina, eh Nicaragu en caso de Emilio, España, unos cuantos de nosotros. Y bueno, creo que eso también enriquece bastante la la el potencial de que podemos dar eh pues como digo, más diverso eh con distintos (04:22) puntos de vista y distintas experiencias. Eh, bueno, os comentaba eh la compañera que este es el octavo, creo, eh curso de formación que damos en Osanhack en español. El primero fue en una aula invertida en 2022 y desde entonces, pues como veis, hemos ido haciendo diversos eh cursos básicos. Eh también el jacatón, que digamos es el el curso principal, el evento principal. (04:48) Y desde el año pasado hacemos también este taller intermedio que ayuda a hacer pues ese puente entre el curso básico y el jacatón, que algunos que comenzaban ya de pues eh con un nivel más básico, digamos, les costaba un poquito pasar eh al jacketón. Eh, y bueno, deciros también que el jacatón de este año es en noviembre, 24 al 28 de noviembre. Y ya os podéis apuntar, os eh os animo a participar, porque creo que es bueno realmente el evento donde eh creo que es es más enriquecedor porque además de aprender (05:25) con tutorías también tenéis un apartado de trabajo colaborativo que creo que es muy interesante también para hacer comunidad que es uno de los objetivos de Ocean Hawek en español. Y comentaros también que tenemos buenas noticias. Recientemente hemos recibido la aprobación de un nuevo proyecto, por lo que tenemos también financiación para eh realizar más eventos en 2026 y 2027 y e iremos añadiendo toda esta información (05:52) en la página web. Eh, bueno, voy muy brevemente elatón. Creo que seguramente ya habéis ya tenéis conocimiento de estas de estas semanas intensivas de trabajo. En nuestro caso, eh, los jacatones los hacemos todos online, como todos nuestros eventos. porque queremos facilitar la participación de gente de todas partes de Latinoamérica sin tener que invertir eh en viajes. (06:16) Y bueno, siempre resulta más costoso y también pues agendarlo a veces es más complicado cuando no es online. Y bueno, la idea es eso, pues facilitar en la creación de una comunidad hispanohablante para ayudarnos entre nosotros y para colaborar dentro de lo posible en todo lo que es el tratamiento de datos marinos con lenguajes de programación abiertos. Y bueno, en nuestro caso el jacatón se divide en las sesiones de tutoría por la mañana, siempre hablando de hora de Guatemala. (06:47) Eh, comenzamos siempre a las 8 y serían como unas 3 horas de tutorías y por la tarde es la parte de trabajo en común. Se hacen pequeños proyectos, pequeños grupos para trabajar en el mismo proyecto dentro de ese grupo. Y bueno, el grupo se monta en función de intereses comunes, de temática, del lenguaje de programación. Algunas veces se ha trabajado con R y Python a la vez, pero normalmente se separa en R o Python. Y en todos los grupos hay uno o dos eh mentores que os ayudan a trabajar en ese proyecto y (07:23) avanzar para que durante toda la semana pues creéis un proyecto que se presenta el el viernes. El viernes es vuestra sesión en la que vosotros mismos presentáis el trabajo que habéis hecho durante eh durante esta semana. Eh, bueno, estas diapositivas simplemente para comentaros que intentamos que los participantes sean eh bueno, el grupo que participa sea lo más diverso posible. (07:48) Eh, por supuesto que haya cierta paridad en hombre y mujer, pero también que haya participación del máximo número de de países latinoamericanos. Como veis, también suele haber un rango de edades bastante amplio y bueno, los eh el objetivo principal es la formación de eh científicos de la institución pública latinoamericana, pero bueno, está abierto también a a otras participaciones. Y pasamos ya al programa. No me voy a alargar mucho, pero bueno, como habéis visto, el programa está en la página web y esta primera semana es en la que están concentradas todas las tutorías. (08:21) Los dos primeros días, lunes y martes, serán están basados sobre todo en Python, miércoles y jueves en R, eh, y luego ya la semana que viene tendréis la sesión de dudas el 13 y el 14, lunes y martes y después el trabajo autónomo sobre la evaluación que os comento a continuación. Eh, hoy además de comenzar con Python, también comenzará mi compañero Emilio Mayorga y es que es el que trabaja con la plataforma Jupiterh y os explicará cómo podéis entrar a ella y cómo (08:58) trabajar eh todos los scripts a la vez que el tutor mientras el tutor los va explicando en la página web, en esta plataforma que día. Por lo tanto, no necesitáis instalaros nada. Algunos de vosotros lo habéis preguntado en el Discord ya. Pero no no hace falta instalarse nada y podéis trabajar directamente en esa plataforma que ya tiene todos los paquetes, los lenguajes de programación, etcétera. Eh, si paso a comentar entonces la evaluación, para pasar el curso tenéis (09:28) que hacer una pequeña evaluación que es muy simple, simplemente para que veáis, bueno, se me ha olvidado comentar que los temas principales de las tutorías son datos espaciales, datos temporales e informes tanto en Python como en R. Y además Arel, nuestra compañera Arelis nos hablará del análisis estadístico, en este caso en R, que creo que es el lenguaje más utilizado para para análisis para estadística en general, (09:55) aunque en Python, por supuesto, también se puede llevar a cabo, pero digamos que R es especialmente conocido por este por este apartado. Entonces, bueno, el como decía, la evaluación consiste en realizar, poner en práctica esto que habéis aprendido los datos, cómo trabajar con datos espaciales y con datos temporales y cómo realizar un informe. Podéis elegir cualquiera de los dos lenguajes que prefiráis. (10:18) Si ya sabíais uno, pues los sería bueno que intentarais con el otro lenguaje de programación. Eh, todo esto lo podéis subir al repositorio, que tenéis que tener un repositorio personal con vuestra cuenta de GitHub. y me enviáis el enlace de este repositorio a a mi correo. He puesto, vamos, fecha límite el jueves, pero sería el jueves por la noche vuestra, vuestra noche del jueves para que yo el viernes pues ya pueda echarles un vistazo. Si lo tenéis antes, mejor me lo vais enviando en cuanto tengáis. (10:46) Entonces, os aconsejo que vayáis comenzando ya esta semana si podéis, porque también si os surgen dudas os las pueden resolver el lunes y el martes Jorge NR y Julia en el martes para Python. Así que bueno, esta sería si tenéis cualquier duda, nos lo comentáis de todas formas, por aquí o por el Discord. Y sí, como ya sabéis, utilizaremos Discord para eh hablar entre nosotros durante las sesiones síncronas, pero también fuera de estas sesiones. Y tenemos tres canales. (11:18) El principal es el taller intermedio, donde podéis taller intermedio 2025, pero hemos creado otros dos para que sea más fácil. Primero, e que comentéis cualquier problema que tengáis para entrar a la plataforma en a Emilio en dudas de Jupiter Cloud. Y el tercero es el de enlaces. Normalmente poníamos los enlaces en el mismo chat, pero a medida que se va escribiendo luego es complicado localizarlos. (11:47) Así que he creado un un canal específico de enlaces para que encontráis la página web, eh la el enlace de la videollamada, etcétera, todos los enlaces. Si necesitáis alguno más, nos vais comentando y y lo añadimos. Y por mi parte no hay nada más. Bueno, Emilio Mayor Gabora os explicará todo esto que os comento de la plataforma, pero es importante que nos facilité vuestra cuenta de GitHub para que tengáis acceso a esta plataforma. Si no habéis rellenado el Excel que os mande, el enlace del Excel que os mande para esto en el en el email (12:26) de o el correo de bienvenida, pues hacedlo cuanto antes para que Emilio os dé paso, ¿vale? Y sin más, pues doy paso ya a Emilio. Emilio, muchas gracias. Y si quieres comenzar presentándote, como digo, prefiero que cada uno de vosotros os presentéis directamente y de forma más completa. Dejo de compartir la pantalla y adelante, Emilio. Gracias. Perdón. Muchas gracias, Marian. Un momento, voy a compartir mi pantalla. (13:28) Y aquí me disculpan de antemano si algo no me sale. Bien, con Teams. Eh, ¿pueden ver? Sí, se ve una página web build software. Bueno, perfecto. M. Bueno, eh, disculpen que la manera en que, bueno, voy a ver si puedo hacer algo aquí. No, no soy muy ducho con Teams y ahorita al ver esta pantalla no veo las cámaras. Déjenme ver si puedo hacer algo para para poder ver las cámaras también. Emilio, yo tengo la vista arriba en modo galería y veo las las pantallas a la derecha. (14:48) Perdón, que ves la la cámara. Sí, veo las cámaras a la derecha poniendo vista. Eh, Garía no están bien. Ah, e yo no estoy usando la aplicación, estoy usando el navegador. Yo también en el navegador. Ah, bueno, entonces déjame ver si si puedo lograr eso. En el caso del navegador tiene restricción. Idealmente debe hacerse desde la aplicación de Teams. En este caso debemos proceder así. Eh, yo uso Linux y en Linux creo que no hay una aplicación de Teams, existía antes. (15:20) E, pero bueno, así lo vamos a manejar, ¿no? No hay problema. Si hay algo que levanten la mano a través de Team, si no lo puedo ver, están mis compañeros para avisarme. Bueno, vamos a ver entonces. Eh, buenos días y buenas tardes. Mucho gusto. Mi nombre es Emilio Mallorca. Soy un investigador en la Universidad de Washington en Sear, en el estado de Washington, aquí ya cerca de Canadá. E he estado, he sido parte de este Ocean Hquck desde el principio, que fue en el 2018 en el evento e que ocurre todavía (16:11) ocurre e en inglés. Es más, acaban de hacer uno hace un par de semanas aquí mismo en mi universidad. Eh, y como decía Marian, hemos estado haciendo este evento en español desde hace ya 3 años y e lo último y soy nicaragüense e ya dijo Marian que cualquier pregunta la pueden hacer en Discord y por favor no tengan ninguna pena, estamos aquí para hacer todo lo posible para que esta experiencia sea eh fructífera y que no (16:46) tenga ningún problema o por lo menos cuando tenga tengan problemas que lo podamos resolver. E también mencionó Marian lo de las cuentas de GHO. E muchas gracias a los que ya la pusieron en el en el archivo de de Google Sheet. Eh, creo que habían como 35 personas hasta anoche que ya lo habían hecho y yo les envié una invitación e que les llegaría por por el correo electrónico para eh que tienen que aceptarla. (17:11) Me imagino que les mando un enlace e y eso les permite acceso a la plataforma y acceso a nuestro eh lo que se le llama organización en Ghub. Y por supuesto hablaremos más sobre Gearhub y directamente sobre la plataforma. Em no, ahorita estoy teniendo problemas para poder ver eh cuántas personas han aceptado o no aceptado, pero les recuerdo de nuevo si eh que chequeen su email y busquen este correo electrónico y acepten esa invitación. Una preguntita y aquí voy a ver si puedo puedo ver eh cuántas personas, no sé si (17:55) la mejor manera es a través del chat de Discord, pero quería tener alguna idea de cuántas personas asistieron al evento de habla invertida. E no sé cuál es la tal vez por el Discord si pueden poner sí o no. Y menciono esto, Mario mencionó el aula invertida, pero ya hay material básico e importante, e, por ejemplo, no voy a meterme muchos detalles sobre Python y R directamente, pero obviamente el resto de la semana sí está basada en (18:28) eso, pero también un uno un materiales que son relevantes para lo que mencionaría ahorita que cubrimos es eh sobre la plataforma Júpiter eh no la plataforma forma en la nube, sino que más generalmente el el los cuadernos de Júpiter, etcétera. E y también ahí hubo tutoriales sobre el sistema GET y y Carehovens, que a pesar de que no los usaremos mucho directamente en los talleres intermedios, sí son fundamentales para el jacatón. (19:04) Déjenme ver si Oh, no. No, eh, no, no es una muestra representativa lo que contestaron, pero si nos pueden compartir sería útil. De momento solo ha marcado una persona, Andrea Rebeca Lara Cera. Bueno, entonces ahora sí vamos directamente a comenzar. Todo está. Si en algún momento pierde un enlace o no lo pueden encontrar, pues hemos hecho un esfuerzo para que todos lo encuentren fácilmente directamente desde la página web. (19:40) Entonces, por eso quiero comenzar aquí en la página. Eh, los materiales están eh bajo el curso intermedio aquí a la izquierda. Eh, bueno, creo que ya Marian mostró el la el calendario y aquí también está el enlace donde van a estar los tutoriales. Lo voy a abrir solo para mostrarlo. Estos están en Gearhub. Eh, el acceso es libre. E no vamos a trabajar ahorita, por lo menos en estos días, directamente en el repositorio, sino que indirectamente subiéndolos a la (20:20) plataforma de Júpiter Hub. Eh, pero bueno, pueden llegar aquí fácilmente. Y eh la otra página importante es estos primeros pasos y ya llegaré aquí de nuevo en un momento. Aquí tenemos enlaces para eh lo que es este por otro lado también aquí para ir a la página principal, perdón, no era ese el enlace sobre Júpiter Hub. Y básicamente lo que voy a hacer hoy es eh esta página, mostrar esta página y los detalles e ir entrando a la plataforma. (20:59) Primero, sobre todo para los que no han usado eh Júpiter o no saben que ya sea porque no participaron en la aula invertida e o porque trabajan en R nada más y no y no en Python. Eh, Júpiter es a ve puede ser un poquito confuso, pero Júpiter se le llama como una a veces se refiere a esta serie de elementos interlazados como un ecosistema e de abierto de computación desarrollado por el proyecto Júpiter. (21:24) incluye las herramientas para el desarrollo de código abierto y la su presentación, perdón, proyectos de análisis de dato. E se originó eh principalmente y el nombre deriva de tres lenguajes de Julia, Python y R. eh y apoya muchos lenguajes eh especialmente esos tres en la práctica eh es bastante más común o más usado para la eh en su aplicación en Python, pero lo apoya los otros lenguajes. Tenemos, como decía, más materiales y pueden venir a sobre esto, pueden ir a esta página en cualquier momento para ir a los tutoriales sobre Júpiter en del (22:16) aula invertida, por ejemplo, están eh un tutorial e instrucciones para instalar Júpiter Júpiter Lab en en su computadora, pero de nuevo esto no es algo que tienen que hacer e en esta fase, en este intermedio y algunas demostraciones si no han si piensan trabajar en Python y no conocen eh Júpiter y no asistieron a la aula invertida, definitivamente les lo animo a que lean estos materiales esta semana y si es posible hoy o mañana. (22:55) que quiere leer un poco más sobre Júpiter, sobre qué es, etcétera, eh tenemos este pequeño eh reseña y de nuevo, volviendo al tema de que o lo que hemos dicho que no eh no para este evento, para estas actividades no tienen que instalar absolutamente nada. E y en parte eh hay varias razones por las que creamos esta plataforma o o hacemos todo en esta plataforma en la nube. (23:27) Uno de ellas, una de los principales eh específicamente para que no eh ustedes no tengan problemas al tener que instalar algo. Eso es algo que hemos enfrentado en el pasado. Cada quien tiene eh computadoras diferentes, unas más viejas que otras. eh versiones diferentes de Windows o Max. Entonces, de esta manera lo único que necesitan es el navegador. Eh, no necesitan tampoco tener una conexión al internet eh super rápida. (23:57) Lo principalidad, lo principal que es importante que sea estable, eh pero eh todo el procesamiento va a ocurrir en en nuestros servidores, en la nube e y solo el navegador. Allí en esta plataforma ya hemos preconfigurado, hemos instalado toda la los paquetes o bibliotecas tanto de Python como R que van a ser eh utilizados o requeridos en las tutoriales de hoy de perdón de de esta semana. Y de nuevo utilizaremos la misma plataforma para Zakatón y ahí actualizaremos los paquetes para que cualquier tutorial nuevo ahí eh estará (24:40) disponible en esta plataforma. E dice aquí eh, cada usuario tiene eh su propia cuenta reconfigurada a los mismos entornos. O sea, lo que cada usuario va a ver al comenzar es idéntico a los demás, pero tienen su espacio de para crear o o añadir archivo que es completa un tailado de los demás. Al mismo tiempo van a tener acceso a algunos archivos que nosotros compartimos. e el e hemos mencionado el nombre Júpiter Hub. (25:17) Eh, sin entrar en demasiado detalle, est es parte del mismo proyecto de Júpiter o el ecosistema de Júpiter y lo que permite es hacer en la nube lo que trabajar en la nube de una manera que es prácticamente idéntica a lo que harían en su propia computadora. Es la misma aplicación de Júpiter, específicamente de Júpiter Lab. Eh, una vez que lleguemos se lo se lo mostraré. Eh, la apariencia casi idéntica, eh los detalles, las diferencias son sutiles e (25:48) y les permite hacer todo lo que podrían hacer en en Júpiter, en su computadora, con Python, otros lenguajes. Y pero algo no eh diferente de la experiencia tuviera Júpiter en su computadora es que no solo es Júpiter, sino que permite acceso a otro sistema que preconfiguramos nosotros. Y en nuestro caso el principal es R Studio para R. Eh, ya lo mostraré en un momento. (26:11) Eh, y estas son las dos aplicaciones Júpiter Labier Studio fundamentales que utilizaremos en esta en esta actividad. Entonces, de nuevo, Júpiter Hub es la el mecanismo para acceder a estas dos aplicaciones, a Júpiter Lab y a R Studio, eh para programarlo, ya sea en Python o en R y siempre accediendo exactamente al mismo espacio de archivo, su cuenta individual, digamos, eh ya sea si están en Art Studio o Jupiter Lab. (26:39) eh tienen acceso a los mismos archivos y en teoría podrían hacer todo lo que vamos a hacer hoy. Eh, podrían correr en su propia computadora, pero definitivamente no lo recomendamos. es casi garantizado que van a a atoparse con problemas e al tratar de instalar paquete. Bueno, entonces para acceder eh al Jupiter Hub eh lo que les recomiendo eh por el resto de la semana, si no recuerdan dónde está, es sencillamente venir a a la página web e bajo curso intermedio, primeros pasos. (27:16) Ahí siempre va a estar claramente la el enlace. E a ver, voy a regresar aquí donde estaba y aquí hay algo de instrucciones. E esta es la pantalla que se van a encontrar, pero sencillamente me voy a ir directamente a al enlace. Bueno, perdón. Y al mismo tiempo quiero decirles que aquí hay una serie de captura de pantalla que les va a a mostrar que les va a dar orientación sobre qué hacer en cada paso y mostrar qué es lo que estarían viendo y qué hay (27:57) que hacer. Pero yo lo voy a ir haciendo todo al mismo tiempo ahorita y les recomiendo que vayan siguiéndome para aquellos que ya nos dieron su perfil de get y que recibieron el el e el mensaje de invitación y ya lo aceptaron, ya deberían de tener acceso. Entonces, eh no tienen que hacerlo, pero una manera de aprender y y ver si tienen problema es ir siguiendo mis pasos. Exactamente. (28:22) Eh, como les digo, no no eh no es obligatorio que lo sigan, pero se los recomiendo. Entonces, aquí está el enlace y me voy a ir a directamente. Es es lo que van a encontrar. Vamos a apretar el botón de signing. Eh, y creo sí e estoy usando una cuenta especial aquí para esta para este tutorial, para esta muestra en que yo voy a a me presento con Gearhob y con la plataforma como que fuera uno de ustedes, como que fuera la primera vez que estoy entrando a este sistema. (29:05) Entonces, si no están conectados Gearhob, eh, esto es lo que se encontrarían. Perdón. Si ya están conectados Ghop, creo que pasarían a la siguiente página, pero aquí voy a voy a meter mis credenciales de de esta cuenta que tengo especial. Y por favor, si mis compañeros me pueden decir si hay alguna pregunta en algún momento eh a través del Discord, eh me pueden me lo pueden mencionar. (29:39) Sí, Emilio, yo intento estar atento por ahora nada, pero si hay alguna cosa te digo. Gracias. E esta debería ser la siguiente página que se encuentra. E y e esto autoriza a la entidad que que administra el sistema de Júpiter H en la nube para con nosotros. Nosotros trabajamos con ellos. se llama eh 2 I2C I 12C. E esto solo lo van a encontrar la primera vez y no va a volver a aparecer. Es una utilización para que ellos tengan acceso a sus credenciales de GHub para poder eh entrar al sistema. (30:17) Eh, solo lo mencionamos aquí, perdón. Y como les decía, que están las pantallas de lo que se van a encontrar. Eh, esta es la aquí les dice eh les da una muestra de esa pantalla y que esto solo ocurrirá una vez. Bueno, entonces todo lo que tienen que hacer es autorizarlo en el botón verde y ya en el futuro e una vez que metan sus credenciales de GHub en cada sesión, esto es lo que se encontrarán cada vez. (30:53) Eh, y aquí eh tienen que escoger entre eh si van a iniciar una sesión en Python o R. Y para cambiar a R aprietan la flechita aquí y van a R. Hoy vamos a comenzar con Python. Esto capacidad asignada lo pueden ignorar. Eh, no hay opción ahorita. se le da curiosidad, ese el equivalente de de la computadora, que por así decirlo, la capacidad que van a tener de computación y de y de espacio en y memoria, pues en cada eh en su (31:30) cuenta, pero no hay nada que cambiar. Bueno, entonces aquí para entrar apretamos el botón grande de start y esto eh especialmente la primera vez creo que se va a tardar un poquito, eh probablemente más de un minuto. No depende de sus computadoras esto, ¿cuánto se va a tardar? Depende del sistema en en la nube que está inicializando eh su cuenta, digamos, por primera vez. (31:56) Eh, en mi caso también es la primera vez porque esta cuenta especial que tengo e como les decía, estoy entrando como que fuera un participante e y lo único nada que hacer, solo esperar. Eh, esta barra va a terminar y una vez que termine va a ser obvio porque vamos a entrar a la aplicación de Jupiter Lab. Mientras ocurre eso, vamos a seguir aquí. E bueno, como les decía, aquí hay eh capturas de pantalla de todo lo que está ocurriendo. Y este es el paso que acabamos de pasar. Aquí estamos en este paso y después iremos aquí. (32:37) Eh, si si hubieran seleccionado R, es lo que verían una vez que termine. A ver cómo va. Bueno, esto me da tiempo de terminar mi café. Emilio, aprovecho y te hago yo una pregunta y quizás es eh una vez abierto el Jupiter Hub, ¿tenemos alguna limitación de tiempo? Me refiero, la sesión se finaliza en algún momento o Muy buena pregunta. Eh, no recuerdo haber eh haber eh visto un caso en que eh la plataforma te (33:27) saca por porque ha pasado cierto tiempo eh sin ser usada. Es posible, pero no recuerdo ahorita. E sí, muy buena pregunta. Creo que en la práctica no, eh por lo menos mientras lo estén usando durante la sesión definitivamente no te va a sacar, pero digamos que un participante está participando en la sesión ahorita, termina la sesión e y lo deja abierto y quiere regresar en 3 horas eh para repasar. Eh creo que sea abierto, pero pero es mejor guardar guardar y cerrarl. (34:04) Eh, y precisamente por esto lo voy a enfatizar después, eh, los pasos para para cerrarlo, porque desgraciadamente el sistema no lo hace tan fácil como debería ser, y también la importancia de hacerlo de casi. Y me imagino que para ustedes igual lo que se está tratando para mí debería ser más o menos igual para cada uno de ustedes. Bueno, mientras pasa esto, les debería preguntar si el tamaño del texto, el font, eh si está bien para todos. (34:41) Eh, si a alguien le parece un poco pequeño, eh, me avisan, por favor. Y esto es lo que deberían de ver. Y nos pueden decir en en Discord eh los que han logrado entrar, solo para confirmar que está funcionando. Bueno, si. Ah, perfecto. Hay dos. Sí, un éxito de 100% hasta ahora. Bueno, que les pedí que eh reportar a los que han logrado entrar, así es que estaba viciada la estadística ahí. (35:48) E para aquellos que han usado Júpiter La en el pasado, podrán ver que esto es idéntico a lo que verían en su propia computadora si lo tienen instalado en su computadora. e sería fácil eh olvidar que están en la nube. Tal vez la única diferencia aquí es este detallito que hay un la dirección de de eh el link donde estamos en el primer paso que voy a hacer aquí e hay alguien que dice logré entrar pero seleccioné Arturio. (36:27) Eh, como ahorita vamos a hacer Jupiter Lab, no vas a poder seguir directamente esto, pero eh la salida es un poco confusa, así es que te lo puedes dejar al lado de la eh, y seguir lo que estoy mostrando. Entonces, eso es lo mejor por ahora. alguien que no está registrado, pero e cuando termine de presentar esto, tendremos algún tiempo para eh abordar el problema de cada quien que no a través no ha recibido su invitación de GHub. (37:00) Entonces podré enfocarme en eso y si no lo puedo resolver en ese momento, lo podría hacer durante el siguiente tutorial. Bueno, entonces ahora estamos en esta parte. Y el siguiente pasito y de nuevo estas instrucciones están aquí. E tenemos la Sí, sí preguntan que si es posible realizar el cambio entre Python y R. Entiendo que una vez entras en R si tienes que salir o si puedes. Sí, muchas gracias. Eh, actualmente no puede uno pasar simplemente intercambiarse de uno al otro. (37:36) El proceso eh requiere salirse completamente de uno para llegar al otro. Desgraciadamente eh les anticipo que esto no va a ayudar en las próximas dos semanas, que estoy en investigación con unos compañeros de que utilizan este mismo sistema, que han desarrollado una versión e eh que va a permitir eso. Pero todavía estoy estaba tratando de implementarlo para para el taller intermedio, pero no había suficiente tiempo y tengo bastante optimista que para el sí podremos tenerlo implementado (38:19) y en ese caso podrán tener el Jupiter Lab en un en un en una ventana y el Art Studio en otra ventana y ir pasando como quieran, pero por ahora no. Bueno, e y excelente pregunta. E una opción que damos aquí en eh es si quieren cambiar la interfaz, el idioma de la interfaz al español. Aquí en el aula invertida tenemos el material para con las instrucciones específicas a seguir. (38:42) Y aquí en la página de Jupiter Hub está un enlace que le da exactamente dónde cómo hacerlo. Entonces, lo vamos a hacer ahora. settings, language y el que quiere hacerlo en portugués también está eso y español. Entonces aceptamos esto, el cambio. Obviamente no tienen que hacerlo, eh, todo va funcionar igual, pero si les resulta más cómodo lo prefieren. Entonces, aquí está preconfigurado y e les es importante recordar que esta la traducción nunca va a ser perfecta. (39:40) Eh, estas traducciones, lado, todo lo que utilizamos es eh software de código abierto. Eh, las traducción las traducciones son un esfuerzo de una comunidad de diferentes voluntarios que trabajan juntos. Entonces, lo que se van a encontrar es que son incompletas eh la la las traducciones. Eh, por ejemplo, aquí pueden ver archivo editar, ver y después run. e y pueden ver aquí que están en inglés y también se van a encontrar algunas inconsistencias o o el uso de diferentes sinónimos eh para lo (40:18) para referirse a lo mismo. Pero creo que en general ayuda bastante, sobre todo si el inglés es una barrera, pero tengan eso en mente y esto se hace una sola vez también. E cuando cierren la sesión y regresen al día siguiente, eh, regresarán a la configuración que tenían. Si en algún momento quieren cambiarlo, igual vienen aquí idioma y lo cambian en inglés y ya. Entonces vamos aquí a si ya usan ustedes Júpiter eh o Júpiter (40:59) Lab, eh no hay nada nuevo que aprender prácticamente con la única excepción de que aquí no están interactuando con con los archivos en su computadora, sino con los archivos en la nube, en su cuenta en la nube, pero todo lo demás es igual. Entonces, vamos a jugar un poco con esto, por ejemplo, eh, a ver, y una confusión que hay actual eh aquí. Desgraciadamente esto e ignóenlo. (41:27) Eh, debía haber puesto eso en la en la página de Jupiter Hub, pero no va a abrir Studio. Esto es un efecto indeseado del sistema. Bueno, entonces para eh crear un nuevo un nuevo cuaderno, apriet el botón e y de nuevo todo esto está cubierto en los materiales de la invertida sobre Júpiter e y a ver qué puede hacer. E supongo que pu lo canónico sería lo estándar de la primera línea de programación. en Python. Aquí les puedo mostrar, por ejemplo, que los paquetes que uno esperaría están instalados como Pandas, que es (42:21) fundamental. está e de nuevo les recuerdo aquí también que tenemos esta introducción a Júpiter en en los materiales de la del aula invertida y se Se les recomiendo. También hay videos que grabamos en la en sesiones síncronas tutoriales. Aquí está una demostración del uso de un cuaderno. Este es un cuaderno que pueden pueden ir siguiendo y les eh les muestra cómo funciona eh Júpiter. (43:15) lo que permite hacer el uso de Markown para formatear texto o de una manera básica e cómo muestra gráficos debajo de cada celda cuando las ejecutas e y otro otras recomendaciones para para el uso eficiente de Júpiter. Aquí puedo guardar este archivo. Eh, y aquí pueden ver que grabó el el cuaderno y igual que si fuera esto en su computadora. Eh, aquí está de nuevo. Eh, este archivo nuevo que acabo de crear eh se conserva al cerrar la sesión. (44:11) E todo lo que hicieron en esa sesión está grabado, entonces estará de nuevo cuando regresen mañana, digamos. Entonces todo se guarda. Las otras secciones aquí que tienen el lanzador, eh, espalmente voy a enseñar esta, la terminal. Eh, algunos pasos que vamos a hacer e o requieren o es útil poder usar la terminal. tenemos algo de material, tal vez algunos o muchos de ustedes nunca han usado la terminal. Esto da acceso a a al sistema e incluyendo los archivos. Entonces, por ejemplo, aquí usé el comando LS y pueden ver que me dio estos dos eh componentes. (44:53) Uno de ellos es este archivo y otro esta carpeta. En mi en mi presentación ahorita no vamos a usar mucho la terminal, pero es un tema que va a que es muy útil conocer y vamos a eh regresar una y otra vez al uso de la terminal o por lo menos tener los conceptos de la terminal. Este el lo que le llaman consola e funciona como eh se le conoce también si están usando su en su computadora como i Python e es el precursor de de los cuadernos de Júpiter y e (45:49) funciona de una manera parecida al al notebook, eh, pero no tan interactivo. y no vamos a usarlo mucho, pero a veces es útil en el contexto de los tutoriales, pero de nuevo el punto principal es que todo lo que tenían en su computadora eh eh estáble aquí. Una cosa, e si ya usan Júpiter y cuadernos de Júpiter, tal vez están eh conocen esto del el kernel o núcleo aquí y a veces lo cambian para ajustarlo a a (46:29) una un entorno o un núcleo que han eh creado. En este caso, para todos los tutoriales del taller intermedio, no van a tener que cambiarlo porque usamos un solo núcleo o entorno que es el preconfigurado que les mencionaba con todos los paquetes. Ahora vamos a pasar a a un a otro paso importante y que sí probablemente van a tener que repetir tal vez cada día y es cómo subir los los tutoriales que hemos creado a esta plataforma. (47:10) Entonces, les vamos a pedir que hagan una copia e de de todos los tutoriales, de todos los archivos, los tutoriales a a su cuenta individual y esa es la manera en que les permitirá trabajar dentro de el Júpiter Hub eh para ir siguiendo cada tutorial para correr ustedes mismos. Y es esa es la manera en que no tienen que hacerlo así, pero eh creemos que pedagógicamente me eh se aprende mejor. Por ejemplo, creo que Jeray, mi compañero Jeray, eh dará un tutorial en Python después del mío y ahí eh está ejecutando cada paso y lo ideal es que (47:51) si le funciona bien que cada quien vaya siguiendo los pasos y si hay alguna duda pueden hacer las preguntas. Entonces, lo primero es poder subir todos los tutoriales de luego. Tenemos las instrucciones aquí en se van a cursos intermedios primeros pasos y las instrucciones sobre cómo cargar el repositorio en los tutoriales. Les mencioné antes que todos los tutoriales están en este repositorio. Todos los materiales están aquí. (48:11) Eh, bueno, con una pequeña excepción, algunos tutoriales eh utilizan eh en los ejemplos que que implementa utilizan archivos de datos que son relativamente grandes. En este caso, Gearhop no es idóneo para almacenar datos grandes y los instructores los han puesto aquí en un en una carpeta que es accesible a todos todos los participantes, pero aparte de eso, todos los materiales están en el en el repositorio. Entonces, perdón, es aquí, aquí están las instrucciones (48:59) y eh lo que hacemos es eh cliquear un enlace y eso va a ser eh eso va a subir todos los los materiales. El enlace depende de si están en una sesión de Python, o sea, de Jupiter, Lab o en una sesión de R. Eh, hoy todo es de Python, entonces harán estas eh en en los días siguientes, si están si hay por ejemplo el no me acuerdo si es el miércoles que comiencen los tutoriales de R, eh si acaso el instructor dice eh que tienen que actualizarlo y abrieron (49:36) Arturo, entonces se van aquí a a al a la pestaña de R y lo aprietan. Bueno, entonces eh solo dos cosas son necesarias aquí. Eh primero que ya estén adentro, eh ya estén en el Júpiter Lab de la plataforma y luego vienen aquí y presionan ese ese enlace. Lo que está haciendo ahora es básicamente aplicando. Ah, y aquí voy a mencionar algo, fue más rápido de lo que creía. (50:11) está aplicando eh o está usando get el el sistema de control de versión eh y subiendo eh agarrándolos eh el repositorio eh y clonándolo a su cuenta. Bueno, clonar es el término en get a su cuenta en la plataforma. Aquí les puedo mostrar, volviendo a donde estaba, que ahora tenemos, no sé si recuerdan antes que solo estaba el la carpeta share y el el cuaderno que había creado. Ahora está la carpeta nueva, talleres intermedios y pueden ver aquí estas carpetas por cada día, que es (50:53) idéntico a lo que tenemos aquí porque es una copia que acaba de hacer. Me sorprendió lo rápido que lo hizo. Eh, entonces, ejemplo, para ir. Aquí está esto. Aquí está eh los materiales del tutorial de Jerai. Como ven, fue fácil, pero voy a mencionar una cosita. Eh, y esto es algo un poco confuso que estoy trabajando con los e administradores del sistema, que no lo que esperaba y lo que ha ocurrido, lo que debería de ocurrir es que ese (51:29) enlace abriría en otra pestaña probablemente e una una copia de la sesión de Jupiter L. se verían esto. Eh, y en vez de eso está abriendo eh lo que le llaman el la versión clásica que es de de Júpiter. Eh, puede causar confusión, pero por ahora no se preocupen, pueden ignorarlo. Como pueden ver aquí, eh yo ya tenía abierta mi pestaña con Jupiter Lab. El al presionar el enlace abrió eh otra pestaña y con esto podemos cerrarla. (52:02) Ya sigo trabajando porque todo está aquí. Espero que no cause mucha confusión y esperamos poder eh resolver esto para que minimizar la confusión. Bueno, entonces en cada en cada tutorial el la instructora les dirá eh hoy estamos en el 6 de octubre, por ejemplo, vayan a la carpeta de ese de esa fecha, vayan a la carpeta del tutorial en sí y cada instructor les dirá, "Abran este archivo." En este caso lo vamos a abrir esto para adelantarme lo que va a hacer Jeray. Y aquí van a correr. (52:51) Este es una este cuaderno es exactamente el cuaderno que va a correr Geray. Y aquí él irá corriendo paso a paso y les irá diciendo paso a paso qué es lo lo qué es lo que ocurre y qué está qué está haciendo y qué tienen que hacer. Por último, antes de terminar de de Júpiter, e por si no están familiarizados con la plataforma, tienen estas otras pestañas e que les muestra algunas cosas útiles. Eh, en este caso no tengo casi nada. si tuvieran terminales abiertas. (53:33) Y aquí sigue las que abrí anteriormente e los cuadernos que abrieron recientemente. Y aquí pueden ver eh lo que les decía de que las traducciones no son completas. el kernel o el núcleo solo hay uno, pero en general es bueno familiarizarse con si no usan Júpiter, familiarizarse un poco. Esto no lo puede ignorar esta de colores, ¿eh? Esto no ah, no sabía que estaba activado, pero no lo vamos a usar eh ahorita en esta en el taller intermedio, pero creo que vale (54:18) la pena mencionarlo ahorita e get y luego voy a hacer un pequeño repaso de get e y ese repaso va a ser principalmente basado en la terminal, pero get es una una herramienta tan común eh que ha sido integrada en muchísimos interfaces y uno de ellos es el mismo Júpiter Lab, creo que también Ar Studio. Eh, entonces pueden ver aquí que eh esta pestaña eh nos muestra GET eh y como estoy dentro del la carpeta talleres intermedios, esa carpeta es un (54:55) clon de del repositorio y de por sí es un digamos que un elemento que puede ser manejado por Get. Y aquí me está diciendo que que hay un que me dice on tr. Bueno, de cualquier modo esta aquí le da una un interfaz a a los diferentes elementos de get. Si cambian un archivo, eh quieren guardarlo, eh será más relevante para el hackatón en sí y quieren guardarlo utilizando el sistema de get. (55:28) Eh, pueden usar la terminal directamente aquí, pero también creo que podrán usar esto directamente, el el interfaz de que no vamos a adentrarnos en esto ahorita, pero es útil tenerlo en cuenta. Ah, esto definitivamente debía haberlo mencionado. Como pueden ver, todo cuaderno, idealmente un cuaderno está bien organizado con secciones y cabezeras de secciones. la cabecera principal, una cabecera en segunda jerarquía. (56:03) Esta organización se refleja en la tabla de contenido en esta pestaña que pueden ver y especialmente para cuaderno un poquito grande es eh muy útil porque nos permite navegar directamente a a cada sección. Entonces esta pestaña les recuerdo que o les recomiendo que se acuerden que existe eh porque es muy muy útil. Y por último, esta permite instalar algunas extensiones, pero no vamos a hablar de eso ahorita. Ahora sí termino con Júpiter Lab. (56:34) Antes de hacerlo, ¿alguna pregunta que mi compañero me pueda mencionar que que valdría la pena abordar ahorita? Parece que no. Eh, comentan Will, Will Abarca que el complemento de Git aparece habilitado. Eh, Will, me parece que vos eras la persona que se había metido a Studio, entonces solo para confirmar, ¿estás en Júpiter? Sí, en en Jupiter eh no sé e porque probar una cosa. ¿Te aparece esto? que me imagino que este es lo que te aparece, o sea, la pestaña debe de aparecer porque como les decía, la manera en que entré yo ahorita (57:47) eh a Júpiter Lab en la plataforma es idéntica a la de ustedes. No tengo ningún privilegio extra e porque soy una cuenta que que no me da ningún privilegio extra. Entonces, e esta pestaña de get eh responde al a la carpeta donde está uno. Entonces, si estoy en la carpeta eh base de la cuenta, que es lo que estoy haciendo ahorita, eh la manera en que funciona get cada eh hay unos archivos eh ocultos, digamos, en cada carpeta, cada carpeta que representa un un repositorio, un clon de get. (58:22) Eso eh esos archivos ocultos e eh guardan toda la información de Get y también le dicen a cualquier otro sistema que esta carpeta y todo lo que está debajo de esta carpeta, otras carpetas, otros archivos son manejados por get. Entonces eso le permite a otros sistemas decir, "Ah, aquí hay un un repositorio, un clon que es manejado por GET. (58:55) Voy a examinar todo eso y mostrarlo aquí estando en la carpeta base, que es lo que se encontrarían al principio. Esto no es esta carpeta base no es un eh no es un repositorio de eh de get e contiene una carpeta que sí lo es, pero donde estamos ahorita no lo es. Entonces, si me voy aquí, aparece esto. Y bueno, otro caso de que no está traducido al español, que no están actualmente en un repositorio de get. Eh, en cambio, si me, bueno, voy a venirme aquí, si me voy a esta carpeta share, eh, verán que tampoco (59:33) nos da la información de get porque tampoco es una carpeta que es un repositorio de get, eh, o sea, no ha sido manejada con get. En cambio, si me voy al talleres intermedios, esta carpeta en sí creo que Ah, sí, ya es porque esto es exactamente el clon de de repositorio. Entonces, si me voy aquí ya reconozco que esto donde estoy ahorita, donde he navegado, esto sí es un repositorio de guerra. Entonces, muchas gracias por la pregunta. (59:57) no se me había ocurrido qué que ese era un punto importante y tal vez si puedes confirmar eh, Will que efectivamente una vez que navegas a talleres intermedios te aparecen se habilita eh esta pantalla de G. Emilio, de los problemas de acceso, te resumo. Bueno, también para comentarlo a todos. Hay gente que comenta que no puede entrar, pero veo que no están tampoco en en la lista de, bueno, yo le llamo Excel, pero es un documento de (1:00:36) Google. He puesto de nuevo el enlace para que os apuntéis ahí y tengáis el pongáis el usuario de GitHub. Luego hay alguna otra persona que no tiene marcada todavía la invitación enviada. Supongo que se han apuntado recientemente, entonces tienen que esperar un poquito a que tengan esa invitación enviada y reciban el email. Y luego hay una persona, sí, perdón, había hay una persona que parece que ha equivocado el usuario y lo ha corregido, pero bueno, lo tienes marcado también en el documento. (1:01:04) Perfecto, gracias. Creo que eso resume un poco a todos, pero bueno, que es importante que todos estéis apuntados en ese documento. Marian, ¿me podrías compartir tal vez en ya sea en en este canal principal o en el de en el nuestro los profesores? enlace a a al Excel de de los usuarios. Yo lo he puesto ahora mismo en el de Taller intermedio 2025. En el de todos. Sí, perfecto. Es que yo lo tenía por otro lado, pero Teams por alguna razón eh no me permite pasarme donde lo tenía. (1:01:47) No voy a hacerlo todo ahorita, pero eh quería tenerlo tener acceso fácil a esto para poder resolver o añadir a todos los que no están activados eh rápidamente una vez que o termine mi sesión o o estemos en la sesión de preguntas. Sí, veo que las invitaciones están ya casi todas, quedan como cuatro. Ronald, no sé si has sido tú el que ha marcado invitación enviada, pero no tiene que ser Emilio el que la marquen cuando (1:02:18) cinco personas para enviar de los que están en la lista y no le hagan caso la invitación aceptada, eso es para mí, eh, y lo actualicé anoche, así es que está bien eh desactualizado. Bueno, entonces si no hay más dudas, no sé, Will eh eh sigue sin salirte habilitado lo de Get. Eh no veo por qué no funcionaría, pero eh tal vez podemos regresar a eso después o puedo si me puedes mandar o puedes compartir capturas de pantalla. (1:02:51) Sí, porque como te decía, la cuenta que estoy usando, la manera en que empré al Jupiter Hub es idéntica a todo lo demás. No, no, no hay ninguna diferencia. Entonces, bueno, vamos a continuar ahora y el próximo paso es salirnos de aquí. E normalmente uno vendría aquí y está esto que dice panel de control, cerrar sesión y sería lógico pensar que esa es la manera de hacerlo. Desgraciadamente no. Eh, es una complicación de estar utilizando este sistema en la en la nube. (1:03:17) Eh, pero volvemos a a al enlace de primeros pasos. En realidad, mejor voy a regresar ahorita aquí. Eh, todo la no me no había hecho referencia al a la página de Jupiter Hub de instrucciones. Entonces, solo quiero mencionar de nuevo que todo está aquí. Ya pasamos por este paso y llegamos aquí. Eh, aquí está el enlace de cómo cambiar la interfaz al español. Eh, aquí están las instrucciones sobre cómo eh cargar el repositorio. (1:03:50) Eh, y hay un enlace diferente para el taller intermedio y luego para el tratón. Y esto nos lleva directamente a la página que ya les había mostrado. Eh, esto pueden ignorarlo, al menos que tengan curiosidad de de la alternativa a este comando. El enlace ese que que presionamos para subir los tutoriales es un mecanismo que se llama NB geter, pero no tienen que saber más sobre eso. Lo que sí creo que ahí lo menciono en (1:04:26) sí e sí que eviten eh asegúrense de que si están en Rupiter Lab utilicen el enlace de Python y si están en Studio utilicen el el enlace de R. eh van a actualizar exactamente el mismo los mismos archivos en la cuenta. E pero el sistema Jupiter Hub necesita eh se confundiría, digamos, o crearía conflictos si no eh si no presionan el enlace equivocado dependiendo de la plataforma de de la aplicación donde (1:05:02) están. Y lo otro importante como para volver a lo que dijo Jeray, lo que vamos a hacer ahorita es que es importante cerrar su sesión cada día. No tienen que cerrarlo. Si saben que no lo van a hacer por 10 minutos, no hay ningún problema, déj abierto. Eh, pero eh esta plataforma en la nube tiene un costo e y si lo dejan abierto, por ejemplo, eh, a lo largo de la noche, eh nos cobran. Entonces, eh eso reduce nuestra capacidad de de ayudar. (1:05:33) Eh entonces lo pueden cerrar cuando ya no lo van a usar por el resto del día o por varias horas. Aquí están las instrucciones. E y bueno, siguiendo las instrucciones de Python de nuevo, las instrucciones son hay una pestaña para R, otra para Python. Aquí iríamos a archivo, panel de control. Vamos a ir vivo panel de control que nos trae a esta a esta ventana y apretamos el botón stop my server, el botón rojo. (1:06:19) Emilio, no sé, nos preguntan cómo poner el modo oscuro, modo noche o como se llame en esta plataforma. Eh, no sé si supongo que está en algún menú por ahí que tú ya Yo nunca lo he hecho directamente. No sé si el modo sería de del navegador en sí, de la plataforma. No, me da curiosidad y tal vez les tengo una respuesta para mañana, pero yo nunca lo he hecho. De seguro se puede hacer, pero yo nunca lo he hecho. (1:06:55) Yo yo entiendo tal como entendí, yo creo que es algo del navegador, ¿no? Bien, me imaginaría que sí, pero eh no me sorprendería que haya cierta interacción entre lo que el navegador le dice al Júpiter Lab y lo que el Júpiter hace, eh, pero la verdad es que nunca he tratado de hacerlo, a pesar de que sí uso el el background oscuro, lo uso en otros contextos yo, pero en en el navegador nunca sí, nunca se me había ocurrido. Bueno, entonces e Emilio, Emilio, Emilio, perdón. Yo creo que lo que está causando confusión es que tus pestañas están en el lado (1:07:40) izquierdo ahí, ¿no? Sobre un fondo oscuro y eso es lo que quieren ver ellos, pero pues es una el navegador que tú estás usando. Ah, gracias. Bueno, Will Barca nos dice que en configuración settings hay un tema oscuro. No sé si es Gracias. Me imaginé que tal vez estaría ahí. E es posible. Yo estoy usando Firefox, eh, y detallito que Firefox hace como un año permitió tener pestañas a la izquierda y me gusta eso por las proporciones de mi pantalla. (1:08:04) Eh, pero sí, eh, gracias, Will, lo voy a explorar después. Eh, eh, pero me imaginé que si existe existiría ahí en settings o en configuración. Bueno, entonces apreté el enlace, el botón de parar el el la sesión o el servidor. Otro detallito aquí es que eh pueden ver que al seguir las instrucciones que me decían que fuera a archivo y panel de control, eh me abrió otro enlace. Eh al hacer eso abrió otra pestaña. (1:08:39) En mi caso, pueden ver aquí las dos pestañas, la pestaña donde estaba haciendo esto y la nueva pestaña donde eh aprieté los botones. Entonces, ahora tengo dos pestañas de esto, pero en la práctica es lo mismo. Entonces, aquí esto que me dice no disponible o no accesible, ya lo puedo cerrar. E entonces ya terminamos esa sesión de de Júpiter Lab y ahora vamos a pasar a a rápidamente a lo de Arturia de nuevo. Volvemos a estas instrucciones y lo que hay que hacer ahora, voy a comenzar desde cero, eh regresar a a las instrucciones para los primeros pasos. (1:09:23) Lo que voy a hacer es regresar al punto de partida de la plataforma. Entonces, voy al enlace. Aquí de nuevo nos encontramos con esto. Ya no tengo que como no apreté el logout, no no tengo que meter mis credenciales de Ghop de nuevo. Y ahora voy a seleccionar R Studio y de nuevo el botón start. Debería ser más rápido ahora que la primera vez. Pero de nuevo les creo que la primera vez que inicien una sesión de Studio probablemente va a ser un poquito más lento que las siguientes sesiones. (1:10:17) ¿Alguna pregunta mientras esto está cargando? Ah, gracias por la Karen Urbano que compartiste la pantalla eh con el tema oscuro. Mientras carga eso, aprovecho esta esta experiencia para enfatizar que tanto el taller intermedio, pero sobre todo son experiencias en que todos aprendemos unos de los otros y en este caso yo aprendí de ustedes cómo cambiar el tema oscuro y que existe la posibilidad. Bueno, aquí está el R Studio. Yo no trabajo con con R. (1:11:02) Eh, casi todo lo que sé de lo he aprendido a través de Hid y viendo tutoriales y escuchando a los expertos como Héctor. E pero aquí pueden ver que los archivos que que nos muestra son exactamente los mismos que teníamos. Eh, aquí está mi mi cuaderno que hice, mi prueba, ya tengo los talleres intermedios. Entonces, estamos trabajando con los mismos archivos, exactamente lo mismo. Y no tengo necesidad de, si quisiera hacer algorita, no tengo necesidad de volver a (1:11:42) de apretar el enlace para subir los tutoriales porque ya están aquí. Eh, entonces no lo voy a hacer, aunque podría borrar esto. Eh, sí, tal vez vale la pena, eh, aunque no sé cómo, e, pero eh como les dije antes, habrá razones para tener que si ya lo hicieron ahora, si ya subieron los tutoriales para tener que hacerlo de nuevo. Y eso es porque algunos de nuestros instructores todavía están puliendo o poniendo los últimos detalles de los tutoriales y a veces también cuando (1:12:22) presentamos los tutoriales nos encontramos con algo que no funcionó muy bien eh bueno, de la manera que está escrito originalmente o que tal vez encontramos gracias a sus comentarios encontramos una mejor manera o cambiamos alguna presentación. Eh, entonces con frecuencia es útil actualizar los tutorial los tutoriales volviendo a a cliquear ese enlace, pero por ahora no ha cambiado nada en el repositorio (1:12:51) y en este caso todo está en inglés. Eh, y bueno, hay diferentes filosofías de si conviene eh si la ventaja de cambiarlo español eh cuando existe la posibilidad de la interfaz es mayor que la realidad de que la mayoría de lo que se van a encontrar es en inglés y pero te va forzando a a familiarizarte con los términos. Bueno, eh aquí solo me voy a salir, en realidad voy a dargar un poco aquí solo para confirmar que todo funciona. Ah, perdón, no era eso lo que quería hacer. (1:13:32) Me he venido a un eh tutorial de R y aquí voy a abrir voy a abrir este archivo de Armartown. Y para los que usan R, todo esto debería ser familiar. No sé qué es el Vision mod, pero lo voy a poner. Ah, bueno, eso era. E como pueden ver, entonces esto si ustedes usan Studio en su computadora, esto debería ser idéntico a lo que verían en su computadora. Y de nuevo aquí tenemos todos los archivos. (1:14:19) Ahora, como así como con Jupiter Lab e la salida no es intuitiva. En el caso de AR Studio es un poquito peor. Eh, e el signar y el quit session no van a ser lo que deberían y son peores en el sentido de que eh les dan mensajes de que engañoso. Bueno, en este caso Siner Pum regresa exactamente a lo mismo. y el quit session e bueno, dice que la sesión ha terminado, pero no ha terminado, desgraciadamente y esto lo puedo demostrar si me voy a a la a la página inicial del Jupiter Hub. (1:15:09) Regresamos exactamente aquí. Entonces, hay que seguir recordar que hay que seguir las instrucciones eh que tenemos aquí en los primeros pasos. Bueno, esta es una de las maneras estar básicamente hay que ir a un enlace especial eh eh presenta algo igual a lo que vimos ahorita con Jupiter Lab y aprietan el botón Stop My Server. Esto también está en la, bueno, tenemos esta esta manera de acceder fácilmente (1:15:45) todos esos enlaces importantes con la plataforma y pero también están en la página de Jupiter Hubás de explicaciones. De cerrar tu sesión Python o Art Studio. Y como les recuerdo como dije anteriormente que cada vez que cierran su sesión en hub no pierden absolutamente nada. Todo se conserva de la manera en que lo dejaron y la próxima vez que se metan ahí estará. Es lo mismo que apagar su computadora al final del día y la encienden de nuevo y ahí está todo como lo dejaron. (1:16:23) preguntas ahorita. Aquí termino todo lo que lo concerniente a Jupiter Hub y a la entrada, el uso y la salida de tanto Júpiter Lab como Studio. Bueno, gracias Will por reportar que funcionó que te referías a lo Eso fue hace 6 minutos si es que te referías a la pantalla oscura o el tema oscuro. Eh, si alguien está teniendo problemas, por favor avísenos. (1:17:03) E tal vez no podremos ayudarle en este instante e o por lo menos podemos comenzar a a ayudarle, pero resolverlo mientras Jeray da su tutorial. Yo podría estar trabajando en eso. De acuerdo. Comienzo pues, Emilio. Todavía eh un poquito más de Vale. Y originalmente teníamos planeado eh hacer un pequeño repaso de Get y Ghome. Solo quería dar la obra y la realidad es que en el taller invertido no vamos a usar mucho directamente Ky Gearhop, pero sí es importante que tengan (1:17:53) que tengan esa base eh para el lacatón, sobre todo. Eh, entonces quería mencionar un par de cositas nada más. ¿Está bien? No veo preguntas. Entonces, e vuelvo a la página. eh página web aquí bajo aula invertida está enlaces a todos los materiales. Pueden ir directamente aquí. Eh, aquí tenemos los materiales de cada día. Entonces, aquí nosotros cubrimos GET y Gearhub. Pueden ir directamente a la sección. (1:18:30) Bueno, solo para mostrarle algo que ya le ya los mostré un poco. Este es el comienzo y todos los materiales individuales de Python, Júpiter, Marown, Get y Ghub e pueden ir directamente a los materiales de de cada tipo. Aquí tenemos graduación de la sesión y parece que no tenemos un enlace directamente aquí en esta página para cada material, pero los pueden encontrar aquí. Entonces, y de nuevo pueden ir a la grabación directamente. (1:19:11) La voy a encender, lo voy a presionar solo para mostrarlo. Esta es la sesión síncrona e eh de Ky Gerhoh que dieron compañeros hace unos meses e y también incluye, imagino, e las dudas que surgieron, los problemas comunes que que surgieron. No hay tiempo y no era el objetivo hacer exactamente lo mismo que que ya se hizo, pero solo quería enfatizarles porque aquí están todos los materiales eh cada uno de los de las lecciones y e que si van a espero que todos los (1:19:58) participantes aquí continúen hacat y eh que por favor e revisen estos materiales. e antes del jacatón. E si acaso no hicieron el el aula invertida y no están familiarizados con G y Gerub. Bueno, ahora un poquito porque ya crearon cuenta GEH, pero solo quería mencionar rápidamente. Eh, GET fundamentalmente es un sistema de eh lo que se le llama control de versiones, que le permite, por un lado, uno puede ser get en tu propia (1:20:29) computadora sin colaborar con nadie, solo como una especie de de manera de mantener backups o mantener versiones de código. digamos que estoy desarrollando un paquetito de código, eh, y tengo varios archivos de código, otros de documentación, tal vez algunos datos. E y esto nos ayuda a nosotros mismos cuando vamos haciendo cambios importantes. e aplicamos cambios y le damos un mensajito y esa ese historial se mantiene y eso nos ayuda a, por (1:21:03) ejemplo, si tres meses después algo algo que cambiamos e rompe algo que funcionaba bien antes, ese historial que tenemos ahí directamente podemos regresarnos y ver qué es lo que pasaba y también podemos regresarnos a esa versión para ver exactamente cómo es que se quebró, qué fue lo que cambió en este archivo entre la versión actual e y la versión que sí funcionaba. Eh, entonces get lo pueden usar, es muy útil para mantener versiones y mantener (1:21:34) rigurosamente una un historial de los cambios que han ocurrido y las versiones, no solo una documentación de los cambios, sino que la poder regresar a las versiones anteriores en vez de tener que hacer una copia. Lo que muchos hacíamos o hacemos es copiamos todos los archivos, los ponemos tal vez en un en un archivo comprimido de SIP y le damos una fecha y después otra vez dos meses. (1:21:55) Eh, aquí todo se va guardando y todo podemos regresarnos a a ver qué fue lo que hicimos, eh, por en qué es lo que eh quebró, digamos, el algo que que antes funcionaba bien. y les recomendamos tratar de de utilizarlo en su propio desarrollo de de código y otros materiales. Aún si están trabajando solos, puede ser muy útil, pero cuando realmente es e superútil lo mayor utilidad es cuando se colabora con otros porque permite que colaboración síncrona (1:22:34) y asíncrona. Eh, podemos dividirnos, por ejemplo, en un paquete de código. Yo trabajo en esto por varios días, la otra persona está trabajando en lo otro. y nos nos comunicamos y después eh eh da la o tiene las herramientas para poder eh contar los cambios para crear una nueva versión. Getub implementa el eh el sistema GET en la nube. (1:23:01) Hay otros sistemas que lo implementan también en la nube, pero que es el más común o el más popular, eh pero añade otras cosas y estos otros sistemas también lo añaden. Eh, vamos a ver si sí me voy aquí. Y es que permite eh esta integración de de código o proyectos. Entonces, yo puedo hacerme mi copia. Eh, persona usted tiene su copia y después lo lo sincronizamos aquí en este mismo sistema. Eh, y de nuevo viene una tercera persona mañana y puede bajar esa versión común, pero también permite e la colaboración en línea. (1:23:36) Entonces, por ejemplo, esto issues, aquí podemos crear algo, una ¿Cómo se hace? Y esto permite conversaciones a través de este sistema. esta conversación e no solo nos ayuda a resolver los problemas y y todo manteniendo la conversación en el contexto de ese paquete también, como esto es abierto permite a la a otra persona mañana en un mes, en un año eh que tal vez tiene el mismo problema y se encuentra aquí eh con esta discusión que ya existió. (1:24:31) E entonces se puede decir que sistemas como GE como GeHub implementan GET, pero también le añaden un componente social muy importante e para el desarrollo eh coordinado y colaborativo de de paquete y o de código. Y además, como saben, pues como han visto, el mecanismo que usamos para darle acceso a a la plataforma. en el Jacatón lo utilizamos directamente para eh poder tener esa colaboración en los proyectos de de hackeo, eh los equipos que se forman (1:25:14) y creo que creo que eso es todo lo que diría hoy, eh, a menos que Marian o alguien les parezca que mencione algo más sobre Geto, Gethub, ya saben, pues por si no han abierto su cuenta. es gratuito, eh, y es bastante fácil crear una cuenta, además de ser necesario para poder utilizar la la plataforma. Por mi parte, solo comentar y responder una de las preguntas y si todos los vídeos van a estar disponibles a medida (1:25:46) que nos pasan el enlace de la lo vamos poniendo también en la página web, así que podéis volver a ver los vídeos después. Perfecto. Y no hay nada más. Por tu parte has acabado, ¿verdad, Emilio? Podemos pasar ya la Muchas gracias, Emilio. Pasamos entonces a la tutoria de Jer cuando quieras. si quieres presentarte primero, Jeray. Sí, muchas gracias, Emilio. Voy a compartir salirme de Creo que tengo que salirme ya.
(1:26:19) No sé si ya me sacaron. Creo que ya me sacaron. Perfecto. Eh, no, sigue tu pantalla. Por lo menos yo veo tu pantalla. Sí, ya, ya, aquí voy. Ahí está. Voy a compartir yo la mía, eh, esta de aquí. Vale, se debería ver mi pantalla, ¿verdad? Sí, la veo un poco borrosa, como que está cargando, pero sí, igual es mi conexión. Sí vemos la pantalla, pero sí está muy borrosa.
(1:26:58) Tal vez es la conexión de internet y lo ideal sería desactivar la cámara para mejorar la calidad de la de la pantalla. Pribo a todos de le verme la cara, entonces. Tu imagen se ve borrosa, es verdad. No me había dado cuenta. Ahora mejor. Yo sigo viendo borroso. Sigue viendo ese borroso. Me imagino que tal vez está conectado desde una red inalámbrica idealmente, si es posible con cable. No, no, no podría. Sí, en principio mi conexión es bastante estable, bastante bastante grande, pero prueba a dejar de compartir y Ah, mira, ya a mí ya se me está aclarando bastante.
(1:27:42) Sí, a ver, por momentos, pero va bien. Por momentos. Yo probaría dejar de compartir y volver a compartir a ver ahora que no tienes la cámara, no sé. Y comparto de nuevo. Estoy compartiendo una ventana en lugar de compartir la pantalla. No sé si yo le doy a toda la pantalla, pero va a ver así por si acaso. Permito compartir pantalla y quizás si tienes otras cosas abiertas puedes cerrarlas también, ¿eh? Vale,
(1:28:20) mejor ahora. Sí, lo borroso. ¿Tienes más pestañas abiertas? Eh, no, no. O el Discord o alguna cosa así. El Discord sí lo cierro y vuelvo a dejar de compartir y comparto pantalla. Así esta vez ya la No tienes nada más abierto. No, no, nada más. Ha habido un momento que se me ha aclarado un poquito, pero ha durado un segundo. [Aplausos] No sé si ahora no. Eh, vaya, voy a intentar pues eh cerrar todo lo que pueda y cualquier cosa que tengas abierta,
(1:29:24) ¿eh? Vale, ya ahora ya no tengo nada abierto, solo esta pantalla y la reunión. Ahora sí. Ay, voy bien. Se me ha abierto un segundo bien y otra vez. Por un momento vimos bien la pantalla y volvió a irse. Y volvió a irse. Lo que considero que puede hacer es una opción que bueno, en equipos MAC te podría ser una desactivación de la GPU, pero es una cuestión muy técnica. Ahora mejoró. Ahora mejoró.
(1:30:02) mejorador del igual si lo agrandas un poquito porque veo bien en la primera línea, pero el resto un poquito más borroso. Voy a intentar agrandarlo al menos algo mejor. Ahora sí más o menos puedo leerlo, aunque esté un poco borroso. No sé cómo lo veis vosotros. Vale. Sí, se logra ver. Se logra ver. Bueno, mis disculpas entonces primero por este pues por este inconveniente. Espero que a medida que vaya avanzando se vaya viendo mejor si es un tema de la de la conexión.
(1:30:37) Principio lo que les digo, debería tener buena conexión, pero no sé. Bueno, eh empiezo eh primero pues dándole la los buenos días y las buenas tardes a todos y y expresando por por conectarme y participar en el curso una vez más. Eh, y nada, soy me llamo Yay Santana Falcón, soy doctor en oceanografía biológica, aunque he trabajado desde que me saqué el doctorado hace unos años, pues en mi etapa postdoctoral, he trabajado tanto enfría biológica como física, he trabajado también en ecología y modernización, tanto modernización
(1:31:19) regional eh en la zona en la que en la que trabajo actualmente, en la en la corriente de Canarias, aquí en España, como a nivel global con modelos de sistema tierra que en la próxima los próximos talleres pues tendré la oportunidad de de introducirles un poco eh un poco con el tema de Python, pues provengo de de Matlab. Durante mi tesis trabajé en Matlab y luego en la pap doctoral me me pasé a Python y me encantó. Para mí fue una revolución.
(1:31:53) todas las limitaciones que en su momento tenía con Matlab pues desaparecieron al empezar a utilizar Python y es algo que recomiendo desde entonces. Y en el tema de del Ocean Hackwek, yo participé como alumno, fui alumno de Emilio en 2019 en Sié al a la iniciativa que nos que nos ataña hoy en día, la de Ocean Hawek en español en 2023, si no me equivoco. Y bueno, y he colaborado como docente desde entonces.
(1:32:26) La idea de este curso introductorio o intermedio que que pretendo dar es empezar por lo más básico en eh manejo de datos temporales en Python. Aquí he puesto datos temporales con Xarray, pero que es un un paquete de Python que funciona para datos de tridimensionales o multidimensionales, pero también eh explicaré un poquito algo de de Pandas, que es un paquete más para data frames o datos que tengamos en tabla. Eh, me pueden interrumpir en cualquier momento si tienen alguna duda.
(1:33:07) Ahora mismo no tengo acceso al al Discord, pero si si hubiese alguna duda, por favor, pues pues díganmela y se la resuelvo sobre la marcha o si no pues al final de la del tutorial pues la la vemos. Eh, comenzamos. Aquí entiendo que todos están en Jupiter Hub. Si pueden navegar hasta la sesión, se las pongo aquí. serían datos temporales, bueno, 6 de octura, datos temporales y les he preparado un pequeño un pequeño script, una pequeña página de Júpiter que eh he titulado intro de datos temporales y dentro de ella, pues
(1:33:50) vamos a tener las herramientas eh que vamos a trabajar y el archivo que vamos a utilizar, que es este archivo en HDF que se llama Era 5 Course, que deberíamos tener todos en el Jupiter. ¿Me pueden confirmar que todos lo tienen? Que al menos alguien lo tiene y alguien tiene problemas sino que lo comente por el Discord. Ahora te comento. Y ahí se ve otra vez un un poco borroso. A ver si la gente puede ir entrando y lo va leyendo directamente en su copia. Sí, quizás mejor.
(1:34:30) Sí, ahora va y viene, va y viene. Ahora lo veo un poquito mejor de repente. Vale, pues si debe de ser conexión. Entonces parece que ya van localizando el archivo, ¿eh? Vale, perfecto. Bueno, pues comenzamos con con los dos eh paquetes que vamos a utilizar por un por un lado Xarray y por por otro lado Pandas. Aquí les he puesto cómo instalarlo. Es verdad que ahora no hace falta porque vamos a trabajar en el Jupiter Hub, pero si alguno quiere instalarlo en su computadora, pues podríamos hacer eh uso de de PIP.
(1:35:12) que es el pues el el entorno en el que podemos instalar eh paquetes de Python de esta manera. Y una vez los tengamos instalados en nuestro ordenador, podemos importarlos al a la a nuestro a nuestro script de la siguiente manera, ¿no? Esto lo hemos visto ya en el en el curso introductorio. Simplemente importamos cada librería con un alias. En este caso, pues los alias eh más estándar para pandas SPD y para Xarrey XR.
(1:35:55) Introduzco también Nampai por si nos hiciese falta y la librería más usada para graficar datos que ya la introdujo antes Emilio, que sería la de Map Leck. Y lo siguiente ya sería, se los he puesto esta esta archivo, sería cargar el archivo haciendo uso de Xarray, simplemente XR, que sería nuestro alias de Xarray, open data set y llamamos al al archivo. Este archivo eh es un archivo de temperatura superficial o de CARF temperature.
(1:36:26) Entonces, lo que vamos a hacer es leer el archivo y leer la variable que nos interesa. en este caso SST y hacemos un pequeño preprocesamiento de de los datos, que en este caso eh va a ser convertirla en en grados Celsius, que es la, por lo menos para para mí, la manera más eh común de utilizar datos de temperatura superficial. Y simplemente vemos eh la pinta que tiene nuestro nuestra variable. Entonces, importo y ejecuto mi celda para ver la eh variable SST.
(1:37:06) Como podemos ver, tendremos 19 registros temporales eh que van a estar distribuidos, ahora veremos, de una manera más heterogénea, no corresponden solamente con eh con datos cada año o cada mes, sino que van cada 3 años. Y eh en el espacio vamos a tener vamos a tener el el globo terráqueo o la el océano global en 180 gros de latitud y 300 o 180 registros de latitud y 360 de longitud. Estos serían los datos y no hace falta definir lat, long o time, ya que se pueden acceder eh fácilmente desde desde la estructura de nuestras variables, ¿no? Simplemente eh
(1:37:54) haciendo uso de del punto, como vemos aquí, podemos tenemos nuestra variable. Si le damos al punto, podemos acceder a eh aquellas funciones dentro de nuestro Xarray. eh que nos permita eh la variable la variable que tenemos que estamos manejando, ¿no? En este caso, pues podemos ir a ver cuáles son las dimensiones de eh de esta variable. En este caso, la variable, como decíamos antes, son el tiempo, la latitud y la longitud.
(1:38:24) Para verlo, voy a hacer un pequeño plot espacial, simplemente del primer registro, ¿de acuerdo? Para acceder al primer registro tenemos tiempo, latitud y longitud. Así que seleccionando el registro número cero, si recuerdan los que ya están familiarizados con Python, el registro, el primer registro de una variable es el número cero, no es como má que era el número uno. E aquí tendríamos el registro correspondiente al tiempo uno, a todas las latitudes y a todas las longitudes.
(1:39:04) Así que lo que vamos a hacer es simplemente hacer un subplot, un plot, perdón, de esta de este primer registro. Aquí lo he decorado un poco, pero vamos, se puede hacer tan de manera tan sencilla como venir aquí y hacer un plot. ¿Vale? Esto sería la pinta que tiene eh nuestra nuestra variable temperatura, nuestra variable SST en su primer registro que corresponde al año o al día 1 de enero de 1959.
(1:39:31) Aquí lo hacemos un poco más atractivo y ya que tenemos eh datos temporales, pues vamos a empezar a trabajar con ellos eh calculando una media. Voy a llamarle SST min en inglés. Simplemente llamamos a nuestra variable, llamamos a la a la función min, que ya viene por defecto dentro del paquete xarray, y le decimos, le especificamos la dimensión en la que queremos eh que haga esa media. Como vemos, para llamar una dimensión, simplemente llamamos dim y eh la dimensión la ponemos entre eh
(1:40:21) eh, ¿cómo se llama?, entre comillas, entre comillados. Así tendremos nuestra variable SST min. Ahora lo que vamos a hacer es lo mismo que hicimos antes, ver primero qué pinta tiene nuestra variable S7. De nuevo, es una variable con latitud de 180, longitud 360. Es decir, nos hemos eh hemos unido todos las la los datos temporales en una única en un único valor y podemos igualmente pues plotearlo.
(1:40:55) De nuevo, ya se los dejo aquí en el en el script, una manera un poquito más elegante de ver el la media de nuestros datos SST. Gracias a las habilidades de Xray a la hora de definir eh los datos temporales, aquí podemos ver la pinta que tiene los datos temporales de nuestra variable, podemos acceder a ella de una manera bastante intuitiva. Por ejemplo, podemos, aquí tengo mi chuletita, la vamos a a copiar, podemos eh acceder eh años específicos. Simplemente, bueno, utilizo la la función print, que es una función que viene por defecto en en Júpiter, en
(1:41:47) perdón, en Python, eh, para ver luego la la los valores de la función que yo que yo o del cálculo que quiero que quiero realizar. Y luego hago eh uso de una función dentro de Xarrey que se llama cell de seleccionar y especifico que quiero eh mostrar ahora en pantalla. En este caso voy a mostrar el año 1965. Voy a mostrar los valores temporales del año 1965. Simplemente ejecuto la celda y me daría efectivamente los datos del tiempo de
(1:42:26) esta variable en el año 1965. Si en lugar de seleccionar un año en concreto quisiera seleccionar un conjunto de datos, por ejemplo, los que los datos que van desde el año 65 hasta el año 95, es decir, estos 30 datos, de nuevo haría eh uso de la eh función cel, pero esta vez a la hora de definir el tiempo, en lugar de definir un año en concreto o un año y un mes en concreto o incluso año, mes, eh día, año, mes, es día hora, depende de la frecuencia por
(1:43:03) la que nosotros tengamos datos. Lo que vamos a hacer es hacer uso de eh de la subfunción slice. Esta subfunción lo que nos va a hacer es decir, «Vale, vamos a seleccionar datos desde el primer dato temporal que le que le indiquemos y el último dato temporal que le indiquemos. De esta manera vamos a obtener datos desde 1965 hasta eh 1995. Nosotros podemos también jugar con esto y no solamente eh llamar al primer dato como un dato anual y al al último igual,
(1:43:44) sino introducir también el mes. En este caso, lo que vamos a obtener es un subconjunto en el que ya no incluimos el año 65 porque si nos dimos cuenta, el mes en el que estábamos trabajando o en el que había datos para el año 65 era el el mes de septiembre. Resumiendo, podemos llamar con esta función de de cell, podemos llamar a los datos por el la el año, mes, día, hora, etcétera, que tengamos definidos nuestros valores temporales dentro de la dentro del de la variable, en este caso,
(1:44:29) de temperatura superficial. También podríamos usar el la función. En este caso lo que vamos a hacer es seleccionar los datos en lugar de por año, mes, eh día, etcétera, por suposición, por su índice. Entonces, lo que vamos a hacer es buscar el índice en el cual el tiempo de nuestra variable coincide con el mes uno, con febrero. Aquí vemos que todos los años en los que tenemos el mes uno en en o los que tenemos registro de valores en el mes un nos aparecerán en pantalla.
(1:45:20) Si nosotros que variásemos este mes y que hiciésemos el el mes tres, pues nos aparecería eh estos corchetes indicándonos que no existen datos dentro de nuestra variable en los que eh se hayan registrado el en el mes tres. Además, podemos agrupar datos, ya sea por meses, por días, por año o incluso por estación. Lo que vamos a hacer aquí es eh utilizar la función agrupar por eh meses.
(1:46:04) La manera de utilizar esta función es primero le llamamos group by y luego le especificamos qué tipo de de datos temporales queremos agrupar. En este caso queremos agrupar datos mensuales. Lo que nos va a a indicar si no hacemos nada más que que llamar a la función group, es que Python nos va a indicar cuántos grupos eh va a formar con estos con estas indicaciones, con la indicación de mod. Es decir, hay tres grupos que están etiquetados como 1, 5 y 9 que corresponden a eh los meses.
(1:46:43) Si nosotros quisiésemos en lugar de meses, años, nos va a indicar todos los años en los que tiene registro, que en este caso son 19. Quedándonos con Monz, podemos decirle además que queremos la media de esos eh meses. Es decir, tenemos tres grupos, un grupo para el mes uno, un grupo para el mes 5 y un grupo para el mes nu. Lo que vamos a hacer es calcular la media para cada uno de esos grupos. Al hacerlo va a tardar un un poquito en realizar el cálculo.
(1:47:30) Lo que nos va a crear es una nueva eh dimensión. Va a quitar la dimensión eh tiempo y nos va a crear una dimensión que en este caso se llama Monts. Podemos acceder a ella, aquí la tenemos. Eh, simplemente pues como hicimos antes, como es la primera de las eh de las dimensiones, podemos directamente llamar a esa primera dimensión. Aquí tendríamos la media de todos los meses uno o también podríamos utilizar el ehel
(1:48:21) es lo que tendría que hacer el la posición en la que el mes o en la que nuestra nuestro nueva dimensión se encuentra. En este caso la cero que sería la del mes un aquí tendríamos el mes un vamos a hacer eh graficar los datos del mes uno de esta manera que que hemos hecho. Aquí está. Hemos agrupado nuestra variable SST en meses. Hemos calculado la media para cada uno de esos grupos, de esos tres grupos, y hemos seleccionado la media del primer grupo del mes un y simplemente hacemos la la
(1:49:14) el mapa sin entrar en en en hacer el mapa más atractivo. también podríamos hacerla por eh estaciones, como aquí hago, aquí indiqué décadas, pero realmente lo estoy haciendo por estaciones. Y hacer exactamente lo mismo. Agrupamos por estaciones, calculamos la media, con lo cual nos crearía una nueva eh dimensión llamada, en este caso season de estación. Seleccionamos una de las estaciones y hacemos un plot del mismo.
(1:49:45) Aquí tendríamos este sería el plot de nuestros datos correspondientes a la media de los meses septiembre, octubre y noviembre. Ya, te interrumpo un momentito con varios comentarios. Bueno, primero la imagen. Ahora mismo se ve perfecto en mi pantalla, pero hay veces que va y viene, así que si puedes ir cuando cambies parámetros, quizás leer lo que estás cambiando, porque a veces ir despacito también para que de tiempo a que se quite el borroso. Y te paso dos preguntas de Julio Prado.
(1:50:15) Primero nos ha nos ha preguntado cuál es la fuente de los datos y luego le interesa en group buy si se puede hacer por profundidad. por ejemplo, agrupar para el nivel cero, luego agrupar para el nivel 10 m y así. Vale. Eh, primero respondo al a la última pregunta que era la de agrupar. Efectivamente, en este caso, igual que estamos haciendo uso del agrupar eh o de seleccionar datos temporales, podríamos hacer lo mismo si tuviésemos datos en profundidad.
(1:50:55) Podríamos seleccionar datos en profundidad, siempre teniendo en cuenta cuál es el nombre o si utilizamos cell o el índice si utilizamos en el que se encuentra nuestra capa de de profundidad, la capa la que queremos seleccionar. Y también podríamos agruparla eh seleccionando eh como dice antes, con el con el perdón que se me fue el nombre con el SL. Sí, hacemos un slide y hacemos un slide y cogeríamos la profundidad de interés o el o el grupo de profundidades de interés.
(1:51:34) Esa sería la la manera en la que en la que podríamos hacer selecciones de la profundidad. Y luego los datos estos corresponden con ERA F, que es un eh una base de datos que se basa en un reanálisis eh que está disponible. Podría pasarle si quieren el en el el enlace para los para datos actualizados. Este caso son datos bastante dispersos eh que seleccionamos Laura y yo. Laura que les dará mañana uno de los cursos porque eran unos datos que pesaban bastante poco y y tenían
(1:52:28) eran bastante heterogéneos. Podíamos jugar un poquito con ellos, pero si alguno está interesado en este tipo de datos, se lo les puedo pasar el el enlace. Bueno, vamos a a hemos visto cómo podemos seleccionar datos, hemos visto cómo podemos agrupar datos y cómo podemos eh seleccionar rangos de datos. Ahora vamos a eh pasar a la función resample, que es una función que nos va a permitir, como su propio nombre indica, pues resamplear
(1:53:05) temporalmente eh los datos. Es decir, si nosotros tenemos en este caso eh 19, espera ver si se me 19 datos temporales. Como ven, tenemos datos del 59, del 62, del 65, del 69. Es decir, tenemos datos cada unos 3 años, 3 años y y unos meses, pero digamos que nosotros queremos, a pesar de que tenemos en este caso estos datos tan dispersos, queremos tener datos cada año o por lo menos queremos tener el registro temporal de cada año.
(1:53:39) No vamos a hacer una interpolación, simplemente vamos a resamplear, que nos aparezca que todos los años tenemos o que la variable existen datos todos los años. Lo que vamos a hacer entonces es resamplear los datos. Aquí lo lo estoy haciendo. Utilizamos la función resample y especificamos que lo que vamos a que lo que queremos es resamplear nuestros datos eh para tener datos cada año eh comenzando al final de cada año. Es decir, que cada dato anual va a a identificarse con el 31 de diciembre.
(1:54:19) Si pusiésemos esa que se los he puesto, sería el inicio, ¿no?, de start of the year. y tendríamos eh el el la el label de nuestro de nuestro tiempo sería el 1 de enero. Voy simplemente a hacer el resample y como ven, aquí les puedo poner time para que veamos el tiempo. Como ven, ahora nuestros datos es artificial. Nuestros datos siguen siguen teniendo los los registros temporales que tienen originalmente, simplemente que ahora eh
(1:54:57) la dimensión temporal está eh especificada por año. Cada año tenemos un registro. ¿Para qué nos va a servir? En este caso no nos sirve porque tenemos una frecuencia de datos eh mayor al resample. Pero si yo en lugar de eh hacerlo cada año lo hiciese cada 10 años, espero que esto se pueda. Efectivamente, lo que vamos a tener es que eh todos los datos de la década del del 59 al 69 se van a eh promediar y vamos a tener solamente un registro cada década. ¿Vale? Lo explico de nuevo por si me he liado un poco.
(1:55:43) Tenemos datos cada unos 3 años en el en la SST eh original. Lo que vamos a hacer es resamplearla para tener datos cada 10 años. Luego, al tener estos eh datos cada 10 años, calculamos la media de esos datos. Entonces, cuando aquí indicamos 1959, lo que quiere decir este registro es que todos los datos de 1959 hasta el siguiente registro temporal, es decir, hasta 1969, se han promediado. Aquí lo promedio simplemente por un tema de de simplicidad, pero también podríamos calcular el máximo.
(1:56:22) Perdona, Jeray, te voy a interrumpir un momento porque ahora ya lleva un momentito que está bastante borroso, lleva un rato, entonces va a ser difícil que estén siguiendo solo con la voz. Entonces nos proponen de si pudieras quizás hacemos un breve receso de 5 minutos y mientras aprovechas tú a reconectarte, salir del todo, volver a entrar y ver si así tenemos mejor conexión, ¿te parece? Vale, vale, perfecto. Sí, vemos una paradita de 5 minutos.
(1:56:56) Salgo de del todo y entro de nuevo a ver si Exacto. Si puedes, no sé si incluso reiniciar o algo así el ordenador o eso llevaría mucho tiempo. No, no creo que lleve tiempo. Hago todo y entro de nuevo. Hacemos así y así intentamos. Vale. Mientras los demás si hay algún paso en concreto que no habéis podido seguir y os interesa, pues podéis anotarlo también por el Discord.
(1:57:16) Y así pues le pedimos ayer ahí que lo vuelva a repetir o que incluso que nos pase el código exactamente la línea por el Discord, aunque bueno, en principio queda todo en el script y lo podéis ver. ¿Queréis aprovechar a ir a por agua, lo que sea, paramos 5 minutitos. Podemos aprovechar, Emilio. No sé si ya todo el mundo está dado de alta o sigue habiendo algún problema. Si quieres aprovechar para hablar con ellos ahora. Sí, estoy en comunicación con algunos.
(1:58:11) Eh eh les pedí en en el Discord que lo discutiéramos en el canal dedicado de Jupiter Hub. E ya actualicé, bueno, creo que lo escribí, pero ya actualicé a las personas que habían añadido su nombre y su perfil en el en el archivo de Google Sheets. E ya les envié invitación. algunos ya lo aceptaron, pero estamos teniendo problemas eh por lo menos con dos personas ahorita que ya lo aceptaron, pero por lo menos confirmé una, aceptó la invitación y no pueden entrar, entonces estoy investigando eso.
(1:58:41) Eh, les voy a repetir una algo que mencioné que eh en algunos casos que e el perfil que compartieron es válido, envié la invitación, pero no la han aceptado. asegúrense de chequear el correo electrónico con con el que se inscribieron en Gearhub. Ahí encontramos el caso de de una persona que eh usó un correo electrónico diferente del que pensaba. Entonces ahí va a estar la invitación y eso le va a permitir entrar. Y mientras tanto me voy a enfocar en los problemas que estamos teniendo con Andrea y Micaela.
(1:59:24) Perfecto. Un breve anuncio a quienes no se han registrado aún en el enlace de Google Forms. Favor registrar su asistencia. para el cambio de Python AR que comentáis, eh, como os colocaremos enseguida el el vídeo de la sesión de
(2:01:08) hoy, ya podéis verlo más despacio ir parando para que veáis como lo ha hecho Emilio y así lo seguís. De todas formas, seguiremos en Python hasta el miércoles. Miércoles comenzamos en R. El enlace para registrarse lo ha puesto Zaira. A ver, lo volvemos a poner por aquí. Ya estoy. Muy bien. Pues cuando quieras compartir pantalla y cruzamos los dedos. Vamos a ver si esta vez hay suerte. Estoy en ell
(2:02:20) ahora. De momento borroso. Ah. La verdad que no sé qué tienes tienes todo borrado, ¿no? A veces, o sea, desconectado, ¿no? A veces hay gente que tiene recibe como noticias o cosas en el ordenador y tiene No, no, no. Tengo todo todo desconectado. Y es que es extraño es que mi conexión es bastante buena. Sí, otras veces. Agrándalo de todas formas un poquito. Ahora se ha aclarado algo. No está del todo claro, pero sí. Ahora yo más o menos lo veo bien.
(2:03:03) Sí, se pone más borroso también, claro, cuando vas moviendo, así que piensa en ello para parar un tiempo después de moverlo. Vale, pero que ahora no sé si hay algún paso en concreto que queráis pedir que repita. Y de momento no me habéis preguntado nada, pero si hay algún paso que queráis que repita, lo pedís por el Sí, sí, sí. Por el este por el Discord Discord Discord. Ahora yo no sé hablar. Sí. Eh, ¿puedo repetir lo de los niveles de profundidad? Comentan.
(2:03:39) Sí, sí, sí, por supuesto. Eh, lo que les decía antes eh de los niveles de profundidad es que podemos utilizar eh si tuviésemos una variable eh en que las dimensiones también incluyese profundidad, podríamos utilizar la función CEL y la función Icel para seleccionar o para eh sí, seleccionar un rango de profundidades o una profundidad específica. Aquí no lo tengo, pero podría escribir el el código, ¿no? Podríamos hacer sell.
(2:04:18) Imaginemos que nuestra función tuviese la dimensión depth y que eh cada profundidad esté especificada en en metro, pues simplemente podríamos hacer así y o si estuviésemos negativos, pues negativo. Así tendríamos la profundidad que nos que que nos interesa. O igual que hicimos antes con el tiempo, podríamos utilizar la subfunción slice y eh pues irnos desde -1, pues hasta -500. Si tuviésemos registro de profundidad de 100 a 500 y seleccionar
(2:05:04) esa esa capa de profundidad. Creo era que preguntaba más específicamente del group. Ah, para la profundidad. Y alguna vez lo que he dicho cuando no tengo categorías es crear una variable nueva de categorías de 0 a 100 m, de 100 a Exacto. Lo que sea y luego ya puedes aplicar el group sobre ello. No sé si hay una forma quizás más pitónica o pythónica de de hacerlo, pero puedes crear siempre tu categorí tu variable de categorías para hacer el agrupamiento. Sí, exactamente, exactamente.
(2:05:38) deberíamos, necesitaríamos una unas categorías por las que agrupar, si esas categorías tenemos que crearlas de de antemano, no es como en el caso de los datos temporales que ya esas categorías vienen definidas por el propio eh por por el propio formato que tiene la el tiempo en en Exarray. En Ex Ray se usa un formato que se llama day time. Normalmente es el formato en el que suele venir el tiempo en en por lo menos los datos los que yo eh manejo.
(2:06:18) Y entonces esto posibilita a Alexa Ray que entienda, entre comillas, que entienda que los datos están divididos en eh año, mes, día y horas, eh minutos y segundos y puedan acceder a ellos creándose creándose grupo. Si este no es el caso, hay que crear primero los grupos y luego acceder a ellos o agruparlo a ellos en base a sus grupos. Eh, si hay alguna duda más, si no continúo un poquito. De momento no veo más preguntas, así que puedes continuar. Gracias. De acuerdo. Gracias.
(2:06:54) Eh, como les decía antes, agrupé por o agrupamos por décadas utilizando la el el final de cada 10 años. Y eh antes les dije que aquí por simplemente por convenio, por facilitar las cosas, eh lo que hice fue calcular el o agrupar la calcular la media de cada 10 años, pero se puede hacer el máximo o se puede hacer el mínimo o incluso se pueden hacer percentiles o se pueden hacer eh medianas, otro tipo de de cálculos que están disponibles dentro del catálogo de de Xarrey.
(2:07:41) Eh, aquí les dejé una pequeña pregunta, pero creo que voy un poco mal de tiempo, con lo cual eh aquí se las dejo y y si les apetece responderla, pues y dejarla en los comentarios de de Discord, pues pues yo puedo eh mirarlas en más adelante. Y es simplemente en qué se diferenciaría, ¿no? Si yo hago aquí el el resample eh en meses, ¿qué se diferenci en qué se diferenciaría hacer un resample de hacer un group buy,
(2:08:11) entendiendo? Un group buy en meses y un resample en meses, ¿vale? Si lo que les digo, aquí se los dejo y si quieren responderlo, pues lo veo en el en Discord. Eh, y ahora pues me gustaría rápidamente ver unas pequeñas gráficas de series temporales. Para ello, lo que voy a hacer es que en lugar de calcular la media eh temporal que hicimos antes, ¿se acuerdan que era dimensión y aquí poníamos eh tiempo o time? Lo que vamos a hacer es calcular eh la media
(2:08:47) espacial. La media en las dimensiones latitud y longitud. A esta le he llamado simplemente SST media y hacemos un un plot simplemente llamando a la función de Xarray plot. Aquí podríamos ver cómo va variando o cómo ha ido variando la temperatura media global, media en latitud y longitud a lo largo de los años que tenemos registro. ¿Vale? ¿Qué ocurre? que normalmente el grid o la el las casillas en las que están contenidos nuestros datos no suelen ser
(2:09:25) homogéneas. Es decir, que cada grid, cada dadito en el que está contenido nuestros datos no es eh igual que el o no es exactamente igual que el dadito de al lado. Entonces, lo que se lo que se hace cuando se trabaja con con datos de a nivel el global es hacer medias ponderadas, es decir, tener en cuenta el tamaño de cada píxel. Para ello les he puesto esta función en la que crearíamos un un NDF, un archivo SDF con nuestra variable que hemos llamado simplemente
(2:10:05) SSTNC. Y luego haciendo uso de una librería que se llama CDO, que es una librería específica para manejar eh datos de NET CDF, crearíamos un área, ¿vale? Yo se las dejo aquí simplemente para quien quiera eh averiguar. y eh la use y quien quiera pues un poco de de información pues simplemente que ponga CDO y hay un manual bastante bueno en internet que de nuevo si alguno está interesado se los puedo pasar.
(2:10:30) En cualquier caso, ya la el grid está hecho, está disponible en el Jupiter Hub. Y lo que vamos a hacer es primero calcular el área de cada una de las de las celdas, de cada uno de los píxeles. Para ello multiplicaría el en este grid que acabo de crear el área por eh aquellos datos de temperatura en los que existan existan registros, ¿vale? Por eso pongo lo de que no sean nulos. realizo el cálculo y tendría una eh una variable en la que están contenidas las áreas de cada eh de cada píxel y la
(2:11:23) ponderación que aquí he llamado W, que es qué eh o cuán qué representa el tamaño de cada píxel en el en el total de los píxeles, ¿vale? Esa sería nuestra eh ponderación. Esa sería la forma la forma quizás más utilizada, pero una manera mucho más sencilla de de calcularla sin necesidad de hacer uso del de un de un archivo del grid, un archivo de área, es utilizar el coseno de la latitud.
(2:11:51) es una aproximación, no sería la la manera más idónea, pero como vamos a ver, en este caso no funciona. La única diferencia es que a la hora de calcular esta media ponderada, en el primer caso, el caso más estándar, lo que tendríamos que hacer es multiplicar nuestra nuestra variable por la ponderación y sumar todas las latitudes y longitudes. En el caso de esta segunda manera, de esta segunda opción para calcular la ponderación, lo que haríamos es hacer eh
(2:12:35) uso de la función de xarray weighted de ponderar y le especificaríamos cómo queremos ponderar en nuestra variable SST y entonces haríamos la media, no la sumatoria, sino la media de eh las longitudes y latitudes de nuestra variable. Voy a a primero a eh calcular esta media ponderada haciéndolo de la manera eh estándar. Y como vemos ya hay diferencias. Ahora la las medias globales no están en torno a los 13. Voy a ir para arriba lento.
(2:13:11) 13 y 14 gr que habíamos visto antes en esa media sin tener en cuenta el área de los píxeles, sino que ya tenemos una media de temperatura global ponderada que está más entre los 17,8 y 18,6. Como vemos, en este caso voy a calcular también, voy a utilizar la segunda opción de ponderación y vamos a ver, nos va a salir una línea exactamente igual. Vemos aquí algunas pequeñas diferencias de esta línea naranja en relación a la a la línea azul anterior, pero eh mínima.
(2:13:50) Esta sería nuestra media ponderada calculada eh por dos eh aproximaciones diferentes. ¿Alguna duda con esto? Nada. Vale, momento. Ah, perdona. Sí, hay un comentario. ¿Se puede ponderar por cantidad de datos? Se puede ponderar por cantidad de datos. Eh, sí, pero no para hacer este tipo de medias, porque esto sería una media espacial ponderada. Aquí lo que estamos intentando hacer es eh ver la el peso que cada píxel tiene en la temperatura eh global.
(2:14:46) Por eso lo de lo de ponderar por píxel, porque obviamente si tenemos un píxel muy grande en el que tenemos una temperatura X en relación con un con un píxel muy pequeño y no ponderamos, eh la temperatura de del del más pequeño va a tener la misma importancia que la que la del píxel grande cuando realmente está cubriendo una superficie mucho menor. Entonces, lo que vamos a hacer es ponderarla para que todos los píxeles o para que cada píxel tenga un peso asociado.
(2:15:21) En el caso de la temperatura, a lo mejor parece, no es tan obvio, pero cuando vamos a a variables un poco eh en la que los cambios pueden ser incluso exponenciales, como es el caso de que yo trabajo, ¿no?, con la clorofila, puedes tener en un píxel clorofila de 0,3 y en el píxel o o de tres de 3 mg de clorofila y en el píxel vecino o dos píxeles vecinos, eh, datos de 0,03. Entonces, claro, al hacer la media sin ponderar, eh, nos va a salir un resultado muy diferente.
(2:16:00) Estaba escribiendo algo más, no sé si quieres comentar algo más. Eh, yo por mi parte quería ver si se podía suavizar esta serie temporal, pero no sé si tengo tiempo o ya se me ha acabado. Eh, creo que sí. No, no te preocupes por el tiempo, creo que vamos bien. Vale. Eh, como vemos aquí en nuestra en nuestra gráfica, los datos son bueno, bastante irregular nuestra nuestra serie temporal, así que podríamos intentar eh
(2:16:37) suavizarla primero haciendo eh uso de de un simple resample. eh con lo que llamamos un rolling min, una eh una moving average, es decir, vamos a tomar eh datos de diferentes años y vamos a calcular la media de esos de esos de esos años. Luego pasaremos al siguiente rolling, vamos a llamar así, y calcularemos la media de esos de esos años.
(2:17:16) Es decir, por ejemplo, si nosotros tuviésemos datos 1960, 61, 62, calcularíamos la media de esos tres 3 años, tendríamos un dato. Luego pasaríamos a la media del año 61, 62 y 63, tendríamos ese dato. Posteriormente 62, 63, 64, tendríamos ese dato y así sucesivamente. ¿Vale? Eso sería la el rolling min o el moving average de nuestra media ponderada. El problema de esta media ponderada es que como hemos visto con esta aproximación que acabo de explicar, perdemos un año.
(2:17:50) Si nosotros cogemos la de 60, 61 y 62, el dato eh que cogeremos es una media de los tres y va a corresponder con el del año 61, ¿vale? Perdemos ese año 60. Luego tendríamos 61, 62, 63 y ese dato va a corresponder con el año 62. perderíamos en ese dato el 61, pero ya lo tenemos del dato anterior. No sé si me si me explico. Siempre perderemos eh aquellos años en los que eh hagamos la o esos primeros años en los que hagamos el el moving average. Vamos a ver mejor, creo yo, graficándolo directamente.
(2:18:39) Aquí calculamos nuestro moving average. Primero definimos el vector de tiempo para saber cuál es el para después utilizarlo en los diferentes métodos y luego calculamos el el movage eligiendo tres en este caso, ya que cada punto se diferencia eh 3 años, como habíamos visto al principio. para no estar yendo hacia arriba y hacia abajo de la de la pantalla, que que se sigue viendo bien mal.
(2:19:00) Simplemente voy a borrar las otras medias que tengo aquí y pintaremme primero la eh moving average. Hago los cálculos y ahora ya los vemos. Esta sería nuestra eh moving average y esta sería la original. Como vemos en la azul suaviza un poco los datos eh originales, pero siempre perdiendo algunos datos al principio y al final. ¿Vale? Esto se puede utilizar sobre todo en el caso de de de visualizarlo, sobre todo en aquellas series temporales muy
(2:19:48) largas en las que no nos importe eh perder cierto ciertos datos. Si eh queremos hacerlo de una manera un poco más robusta, podríamos hacer uso de eh métodos de interpolación, como es el caso de eh los que ofrece el paquete de Python Cpie o SPI. Es un paquete útil para tratar datos estadísticos. De hecho, si no me equivoco, pues fue creado con con las funciones de R, ¿no? En en cabeza, que antes creo que
(2:20:25) alguien dijo que R era más indicado para Marian, creo que fue quien lo dijo, que era un un lenguaje de programación más indicado para temas estadísticos, pues CPI pues ha sido creado un poco teniendo en cuenta teniendo en cuenta las funciones que ofrece R. Y lo que hace esta función que vamos a utilizar ahora, la de SP, bueno, spline o speline, es segmentar la serie temporal.
(2:20:49) Segmentamos la serie temporal en en una serie de datos y eh se hacen regresiones lineales de esos tramos. Es decir, si por ejemplo segmentamos en 4 años, se hace una regresión lineal de esos 4 años, luego se pasa los siguientes años, se hace una regresión lineal de esos de esos años y luego se van concatenando las diferentes secciones de esos de esas regresiones, de esos tramos. La ventaja es que el suavizado es mayor y que no se pierden datos como el moving average.
(2:21:22) Por contra, hay que tener en cuenta lo que se llama grados de libertad que dejamos en el cálculo, ya que podríamos incurrir en en un ajuste demasiado a lo que llaman en inglés overfeitting, demasiado cercano nuestros datos o justamente lo contrario, si dejamos demasiadas grados de de libertad, incurrir en en lo que se llama underfeitting, que es que no es representativo realmente la línea final, ya que no se han tenido en cuenta o los tramos han sido demasiado grandes, no se han tenido en cuenta eh bien las
(2:22:02) regresiones lineales. Bueno, a lo que nos atañe sería esta línea roja que vemos aquí. Como vemos, no perdemos eh años como sí perdíamos como en el moving average y el suavizado es mucho mayor. En este caso he puesto 4 grados de libertad, ¿vale? Y creo que es un ajuste bastante bueno, no perdemos tanto tanto tantos datos eh utilizando este metodología, pero de nuevo, si vamos a utilizar el Scipi, siempre tener un poquito de cuidado a la hora de elegir
(2:22:37) los grados de libertad y comprobar siempre, ya sea con un moving average o con los datos originales, si hemos incurrido en en una en un fitting demasiado eh agudo o demasiado débil. Y ya por último, eh pues me gustaría simplemente introducirles esta este paquete de de Python que se llama CBORN y que está basado en Mapl, eh, y lo que hace es darnos un una unas gráficas un poquito más atractivas de una manera un poco más más rápido a lo mejor que que con más plen el que
(2:23:21) tenemos que estar eh configurando nosotros manualmente casi todos los lo los parámetros. En este caso, simplemente eh cargamos la librería, nos permitiría cargar un tema. Antes decíamos, ¿no?, lo que querían algunos de ustedes hacer, que es el un tema oscuro para para Jupiter Hub. Pues aquí podríamos elegir, por ejemplo, un tema oscuro para nuestra gráfica. Y eh pues vean, él directamente intenta hacer los datos
(2:23:58) de una manera un poquito más atractiva, eligiendo los colores, aunque uno puede, por supuesto, editarlo. Todo esto es editable, eh, y poniéndolo en un grituro, un fondo oscuro y unas eh líneas blancas. Este paquete, este paquete de Cboard funciona mucho mejor con pandas. Así que lo que podemos hacer es transformar nuestra nuestro eh media ponderada y media con el moving average eh en un panda. Para ello, simplemente creamos una librería, la vamos a llamar values y en
(2:24:41) esta librería vamos a definir eh perdón, no oí algo, pensaba que era que era una pregunta. Eh, vamos a definir el un nombre y unos valores para cada uno de la de los de los diccionarios que vamos a a poner en nuestra en nuestra librería y luego pasaremos esta esta librería llamada values a un data frame de pandas simplemente con la función de pandas data frame. el índice eh queremos que sea el ese vector que construí antes, que era
(2:25:21) basado en el en el tiempo y solamente quiero los valores temporales para respetar el formato de de tiempo de esos valores. Así que si todo va bien, así ha sido. tendríamos una data frame, un una hoja de cálculo cargada en en Python, en el que el índice serán los datos temporales y cada una de las columnas pues corresponderá con una de los diccionarios creados, la media ponderada, el moving average de la media ponderada y la spine de la media ponderada, como vemos aquí, además
(2:26:03) podemos ver que los datos eh sin suavizar y suavizados son difieren difieren algo. Con esta eh data frame podemos utilizar de nuevo eh el CBOR, el paquete que le que le de los que les hablaba ya de una manera incluso más sencilla, porque lo único que hay que hacer una vez se llama a las funciones, en este caso a la a la línea, pero se podría llamar a otras funciones, es especificarle qué datos queremos eh
(2:26:38) plotear y él se encarga de esos datos, identificarlos y crearnos una una [Música] tablita para explicarnos qué datos son y además pues nos lo pinta con no solamente con colores diferentes, sino también con eh diferentes tipos de línea, ¿vale? con lo cual vamos a tener una gráfica mucho más moderna, mucho más atractiva haciendo uso de esta librería con, como ven, en cuatro líneas de programación, ¿vale? Es intentar que eh
(2:27:21) sea lo más sencillo posible. Y ya ahora sí termino con esto. Eh, al principio les expliqué cómo acceder a a los a los datos en en XArray. Eh, la manera en la que se accede a los datos en panda difiere un poco. Hay una gran cantidad de de tutoriales en panda disponibles en internet. La verdad que la comunidad de de programadores que utiliza Panda es enorme, pero aquí simplemente eh mostrarles una dos tres ejemplos.
(2:27:55) DF, que sería nuestro data frame. El index, recuerden que yo lo definí como el tiempo, así que simplemente con llamar a los años tendríamos eh los años en los que tenemos datos dentro de nuestra variable y si quisésemos los meses o los días, pues simplemente muy parecido a lo que hicíamos antes con con Xarray, podríamos hacerlo con Panda. Del mismo modo, también podemos seleccionar eh eh años y seleccionar también eh grupos de o conjunto de años.
(2:28:33) En este caso, como yo estoy acostumbrado al a Xray, me resulta un poquito más complicado, pero es bastante intuitivo. Lo único que aquí estamos diciendo es que nos dé la el data frame, que en este caso hemos llamado DF, desde eh los datos en los que el índice correspondan con el año o correspondan con aquellos años mayores a 1962 y menores a 1990. nos devuelve una data frame solamente con esos con esos datos, con lo cual sería bastante sencillo.
(2:29:13) Aquí es con tiempo, pero con la pregunta que nos hicieron antes en el caso de de profundidad sería tan fácil como llamar aquí a la a esta nueva data frame data frame comprendida entre los profundidades 100 y profundidad 500. Y aquí en lugar de años eh sería definir un índice que fuese la profundidad y la profundidad desde 100 hasta o mayor de 100 menor de de 500. Y eh también tenemos una eh unas funciones similares.
(2:29:55) En este caso les he puesto el ejemplo de del R sample, pero existen pues casi todas las funciones que existen en Xarri existen en Panda. Y en este caso, pues como vimos antes, lo que nos haría es un resample de aquí puse min, vamos a poner max para que vean que que también funciona de los datos disponibles en década. Aquí tendríamos el máximo de cada uno de los de nuestras eh series temporales eh ordenados por década. Y con esto termino de nuevo sintiéndolo mucho por el por la mala conexión y si tienen alguna duda, pues aquí estoy.
(2:30:49) Eh, no tienes el el audio, Mario. Perdón, alguna vez tiene que pasar siempre en cada conexión. Eh, sí, decía que de momento no hay más preguntas en el chat, pero si alguien quiere aprovechar ahora para comentar lo que sea. Eh, ha habido momentos que ha sido más complicado, la verdad, seguir porque sí se iba poniendo borroso, pero bueno, teniendo el script, yo espero que haya sido fácil más o menos eh seguir la la charla.
(2:31:20) Ah, si alguien quiere preguntar algo más. Parece que está escribiendo Imelda. Esperamos un momentito. Si los demás queréis, tenéis dudas, podéis hablar de voz, por supuesto, si queréis encender el micro y es más rápido. Adelante. No he mirado si han levantado manos, pero bueno, podéis directamente abrir el micro y preguntar si queréis. Sí, nos pregunta cuando uso, cuándo uso XR y cuando, bueno, yo le llamo XR XR y
(2:32:03) cuándo pandas. Vale, buena pregunta. En mi caso, eh, bueno, en mi caso no, en general, Xarray para mí sería útil siempre que tengamos unos archivos multidimensionales. Si tenemos un archivo como el que yo les he puesto, tiempo, latitud y longitud, yo utilizaría eh xarray porque me permite, tenemos tres dimensiones, me permite jugar con ellas. Si tenemos cuatro, lo mismo, ¿no? Si tenemos tiempo, profundidad, latitud, longitud, eh, sería mucho mejor utilizarlo.
(2:32:43) Eh, Panda, yo particularmente lo dejo para cuando tengo series temporales. Si de ese exarrey yo pretendo calcular la media de un punto, por ejemplo, del océano durante una cantidad de años, pues lo que haría sería eh calcular eso en Xarray, fabricarme mi mi panda data frame y ya el resto ya lo manejaría en panda. Sería un poco como uso panda si los datos son eh si los puedo representar visualmente, no mentalmente en una tabla de Excel, uso Xarray si no lo puedo
(2:33:22) visualizar en una tabla de Excel. Esa sería mi manera de de elegir entre una y otra. Yo la verdad es que intercambio bastante de uno al otro porque a veces buscas cómo hacer algo concreto y ves el resultado en panda o en Nickare y la verdad es que como se pasa muy rápido de uno a otro pues puedes ir convirtiendo si si te hace falta. Sí, son complementarios realmente. Tenemos alguna pregunta más de Edson
(2:33:56) y Esteban. ¿Alguien había abierto el micro? Puede ser. Bueno, de momento están dando las gracias por las ponencias y comentando. No sé si si ya hay alguna pregunta en concreto o ya esperamos un momentito por si acaso hay alguna pregunta más. Eh, Will nos comenta que en su experiencia XAR va muy bien para datos o archivos Net CDF. Bueno, yo lo pronuncio todo de la moda, la nueva manera española. N CDF, mientras que pandas para datos en formato CSV.
(2:35:07) Sí, sí, sí, sí. Es eso. Si lo puedes visualizar en CSV, mejor panda. Si si no puedes y viene de NCDF, mejor ex. Y Emilio creo que nos comenta algo más. O quizás es en respuesta Esteban, no lo sé. Bueno, aprovecho a a decirles eh lo que antes me preguntaron por lo del ERA 5 o los datos que yo les dije que era de ERA F. eh está disponible en en Copernicus de manera abierta y y bueno, yo utilicé temperatura, pero ellos tienen muchos datos y además es datos horarios,
(2:36:19) con lo cual eh creo que desde 1940 hasta la actualidad, así que hay datos para aburrir. Emilio nos ratifica un poco lo lo comentado. Net CDF con XR y si y pandas pues es una buena forma de trabajar. O sea, cuando visualizas la tabla piensa en pandas. Marián, tenemos la mano levantada de Leonor Vera. Ah, pues adelante, Leonor. Gracias. Leonor, adelante. A ver, Leonor Vera, ¿nos oyes? A ver, ahora lo tienes apagado el micro y lo puedes volver a conectar.
(2:37:20) Ahora aparece conectado. Hola. Quizás no te va bien el micro. Si no nos puedes escribir también por el Discord, Leonor. Gracias. Pasamos al siguiente participante, Julio César Pra. Eh, hago una consulta justamente por el No sé si me escuchan. Sí, sí se oyó, se oyó. Hago una consulta. Eh, justamente en el proceso de, por ejemplo, eh llevar de de este una tabla de datos ANET CDF para la conversión.
(2:38:06) Este, ejemplo, tengo una tabla de datos eh con diferentes dimensiones, entre esto profundidad, latitud, longitud y las variables. Eh, no sabría si ustedes podrían definir esta conversión eh con con cuál librería se puede hacer. Sé que existe la librería de Net CDF como tal, pero eh este la conversión de de esta tabla de datos a Net CDF y viceversa, ¿no? La la tabla de el net CDF a tabla de datos para poder trabajar, por ejemplo, convertir o llevar los net CDF a tabla de datos para generar la serie de tiempo y este y
(2:38:48) poder tener una tabla una tabla de datos y poder llevarla en el CDF para manejar, por ejemplo, eh la estructura de mapas temáticos como temperatura. Mm. Vale. Eh, si tiene datos en en una en una tabla, ¿no? En una Excel o CSV, lo que podría hacer es eh lo cargamos con Panda, es panda read CSB, ¿no? Y ya con eso tendríamos una data frame en en en pandas, en Python. Y luego lo que tendrías que hacer es eh primero asegurarte que la que la la dimensión
(2:39:35) tiempo está en el formato day time. De todas maneras, ya pandas incluye una función que se llama eh pandas. tu date time y así ya crearías ya tu ya te asegurarías de que tu tiempo está en en el formato adecuado y luego ya haces uso de XR, ¿no? Xarray y creo que hay una función que se llama eh xarray pun from data frame y ya especificas ahí eh la data frame que quieres, porque a lo mejor tú puedes tener un Excel de o un CSB de 25 columnas y solamente te interesa pasar
(2:40:22) tres, cuatro de ellas. Entonces ahí tú lo que harías es eh especificar qué parte de esa data frame quieres convertir en una en un xarray. Eso sería la la manera en la que lo podrías hacer. Solo voy a añadir porque me dio curiosidad que además de la función que mencionó ahorita e también existe, y esto fue una grata sorpresa, Pandas también tiene una función que se llama toate. Eh, en general la la la capacidad ser prácticamente la misma, pero me imagino
(2:40:58) que tienen sutileza de que para algunas situaciones una es un poquito mejor que la otra. Eh, yo entiendo que from data frame eh puedes elegir la las columnas y tu data frame, ¿no? O tuf, perdón, eh te convierte toda la la data frame, pero pero sí, yo creo que son homólogas. Tenemos otra pregunta de Leonor, que lo ha escrito por aquí. Si tiene una serie temporal de varios años, pero algunos meses tienen más datos que otros.
(2:41:38) ¿Se puede hacer un promedio considerando esta diferencia en el número de datos? Eh, sí, podrías hacer un resample y entonces tendrías datos para cada mes. La cosa es ver si realmente eso es representativo o no, porque si tú tienes dato, lo que yo haría, ¿no? Si tú tienes un dato para un enero y 20 datos para un febrero, obviamente el resample no te va a a dar un un valor quiere calcular la media.
(2:42:14) Entiendo que quiere calcular la media por mes, pero teniendo en cuenta eso, que en algunos casos tendrá 20 datos y en otros casos tendrá dos o los que sean. se puede calcular, pero habría que ver la robustez del cálculo, porque estadísticamente no entiendo que si tú tienes muchos datos de un mes y pocos de otros, la la representación de un mes y del otro mes no van a ser exactamente iguales. Lo que se podría hacer es o no sé si a alguien se le ocurre otra cosa, pero así a bote pronto, a mí se me ocurre eliminar aquellos meses en los que tengo menos
(2:42:55) datos de un X que yo considere eh suficiente. Si yo tengo en enero menos de 10 datos, no cuento ese enero. Quizás no es la mejor solución, pero es una que se me ocurre ahora rápidamente. O ponderar, hacer una media ponderada de todos los meses. Muy bien, gracias Jeray. De momento no veo más preguntas. No sé si alguien se le ha quedado algo más en el tintero que quiera preguntar, pero parece que no. Así que si os parece ya vamos a dar por terminada la sesión de hoy.