[MÚSICA] [MÚSICA] Hola. En este video, vamos a estudiar algunas de las operaciones que nos ofrece Pandas para trabajar con series. Estas incluyen funciones para extraer información de una serie, para hacer cálculos matemáticos y para calcular algunas estadísticas. En este video, vamos también a seguir estudiando la diferencia entre la posición que ocupa un valor dentro de una serie y el índice que tiene asociado. Para ilustrar las operaciones, vamos a utilizar las tres series de ejemplo que se muestran en esta diapositiva. La primera se llama serie_2 y tiene los valores 2, 4, 8, 16 y 32. La segunda serie se llama serie_3 y tiene los valores entre 1 y 5 elevados a la 3. La tercera serie se llama serie 4 y tiene los valores correspondientes a elevar a la 4 los números entre 1 y 6. Es decir que esta última serie tiene un valor más que las otras dos. Algo extremadamente importante para tener en cuenta es que en estas series los índices son los números entre 1 y 5, y 1 y 6 que se ven a la izquierda de cada imagen. Estos números no son las posiciones en las que se encuentran los valores. Si esto fuera así, el primer número sería 0 y no 1, porque en Python todas las posiciones se cuentan a partir del cero. Empecemos ahora a estudiar los mecanismos para extraer valores de una serie. En primer lugar, tenemos el método get que nos permite extraer un valor usando el índice. Del primer ejemplo, estamos usando el método get para obtener el valor asociado al número 2, que en este caso es el número 4. Si hubiéramos usado un número que no coincidiera con ninguno de los números que están en el índice, como por ejemplo, el 10, el valor resultante habría sido el valor nulo none. La segunda forma de extraer un valor es usar la función loc, que nos permite extraer varios valores en lugar de uno solo. Para esto, tenemos que indicar el rango del índice que nos interesa utilizando paréntesis cuadrados y no redondos. En nuestro ejemplo, estamos extrayendo los valores que tienen índices entre 2 y 4, y por eso obtenemos los números 4, 8 y 16. La tercera forma es usar la función iloc, que también nos permite extraer varios valores pero usando la posición en lugar del índice. En el caso de la serie_2, las posiciones van desde 0 hasta 4. En nuestro ejemplo, estamos extrayendo los valores en las posiciones entre la 2 y la 4, y por eso obtenemos los números 8, que se encuentra en la posición 2, y 16, que se encuentra en la posición 3. Estos ejemplos también nos muestran dos puntos muy importantes. El primero es que el método get nos retorna un número, mientras que las funciones loc e iloc nos retornan series. El segundo punto es que cuando se busca un rango de índices usando loc, los valores extremos se incluyen en el resultado. Por eso, en el segundo ejemplo el valor 16, que corresponde al número 4, aparece en el resultado obtenido. En cambio, en el tercer ejemplo, en el resultado no aparece el valor 32, que se encuentra en la posición 2 de la serie original, porque el último valor del rango nunca se incluye en el resultado. Esto es similar a lo que pasa cuando se hace slicing sobre listas o cuando se usa la función range. Ahora bien, si queremos extraer todos los valores de una serie, podemos utilizar el atributo values, que nos retorna un arreglo en NumPy con los valores de la serie o la función tolist(), que nos retorna una lista de Python. En el ejemplo de la diapositiva, primero sacamos los valores de la serie_2 y los guardamos en una lista utilizando la función tolist() y luego imprimimos los valores de esa lista utilizando un for. Finalmente, tenemos el método copy(), que nos permite obtener una copia de una serie y que puede ser de mucha utilidad cuando queramos modificar una serie sin dañar la original. Este es un buen momento para detenernos y resolver una pregunta. Estudiemos ahora cómo hacer operaciones y cálculos sobre series en Pandas. En primer lugar, tenemos los operadores simples que se pueden aplicar entre una serie y un número. El resultado de este siempre es una nueva serie, así que la serie original no se modifica. En el ejemplo, escribimos serie_2 + 1 y el resultado fue una nueva serie en la cual se le agregó 1 a cada número de la serie. Igualmente, habríamos podido usar los operadores de resta, multiplicación, división y exponenciación, entre otros. En segundo lugar, podemos usar esos mismos operadores entre series. En este caso, lo que hace Pandas es aplicar el operador entre los operadores que tengan el mismo índice y construir una nueva serie con ese resultado. Por eso, al sumar la serie_2 con la serie_3 en el ejemplo, obtenemos una nueva serie donde los valores son la suma de los valores de 2 y de 3. Sin embargo, no todas las series tienen los mismos índices. Por ejemplo, si sumamos las series 2 y 4, vamos a tener un problema con el número 6, que aparece solo en uno de los dos índices. En este caso, el valor que aparece en el resultado es NaN, que significa Not a Number. Con esto, Pandas nos dice que el valor asociado al 6 no es un número válido. Para evitar este problema, Pandas también nos ofrece métodos en las series que son muy similares a los operadores. Por ejemplo, el método add se puede utilizar para sumar dos series, en lugar de utilizar el operador de suma. La gran ventaja de estos métodos es que podemos utilizar el parámetro nombrado fill value para indicar qué valor debemos utilizar en caso de que falte un índice en cualquiera de las series. En el ejemplo, indicamos que fill value debe ser 0, así que el valor asociado al 6 es el valor que se encuentra solo en la serie 4. Detengamos un momento la explicación y revisemos una pregunta. Por último, Pandas ofrece una gran cantidad de operaciones estadísticas que se pueden aplicar sobre cualquier serie con valores numéricos. Estas operaciones incluyen las funciones max() y min(), que sirven para calcular los valores mínimos y máximos; mean(), que sirve para calcular el promedio; std(), que calcula la desviación estándar; y median(), que calcula la mediana de una serie. En la diapositiva se ve cómo se aplican estas funciones sobre la serie_2, pero les recomendamos explorar la documentación de Pandas para descubrir la gran variedad de funciones estadísticas que you se soportan. Para concluir, en este video revisamos un pequeño grupo de las funciones más importantes de Pandas para consultar y manipular series. En la documentación oficial puede encontrarse la lista completa de funciones, así como ejemplos de uso. También vimos la importancia de distinguir entre el índice de una serie y las posiciones que ocupan los valores en ella. Finalmente, debemos recalcar que todo lo que hemos estado estudiando sobre series se va a poder aplicar luego sobre data frames y va a ser tremendamente importante para hacer análisis de datos usando Pandas. Resolvamos una pregunta antes de seguir adelante. [MÚSICA]