[MÚSICA] [MÚSICA] Sería imposible cubrir en un solo curso todas las librerías y herramientas que hacen parte del ecosistema SciPy. Así que nosotros vamos a concentrarnos solo en dos de ellas, Matplotlib y Pandas. Sin embargo, en este video vamos a repasar cuáles son las otras librerías que hacen parte de SciPy para que usted pueda saber qué buscar si tiene que resolver algún problema particular o para que empiece a planear qué más va a estudiar cuando termine este curso. Las cinco librerías que hacen parte de SciPy son, NumPy, SciPy, SymPy, Matplotlib y Pandas. Además de esto, tenemos una herramienta que se llama IPython, con la cual you estamos familiarizados porque la consola de Spyder es precisamente una instancia de IPython. Empecemos entonces a revisar qué nos ofrece cada una de estas librerías. En primer lugar, tenemos NumPy que es la librería sobre la cual se basan todas las otras librerías. NumPy ofrece un concepto central, una estructura de datos llamado ndarray que sirve para representar matrices de n dimensiones con una estructura tremendamente eficiente. Esta estructura nos permite realizar operaciones vectoriales de manera muy rápida, así como operaciones entre vectores y escalares. Por ejemplo, hay funciones para hacer cálculos estadísticos básicos para generar números aleatorios basados en las distribuciones de probabilidad más conocidas y para realizar operaciones propias del álgebra lineal. Como dijimos. NumPy es la base de todas las otras librerías precisamente debido a la eficiencia que trae el uso de los ndarrays. De hecho, en muchos contextos en los cuales no se hacen operaciones científicas o matemáticas se usan los ndarays por su enorme ventaja con respecto al desempeño de las matrices de Python que nosotros you estudiamos en videos anteriores. Después de NumPy tenemos la librería SciPy propiamente dicha, que implementa varios grupos de algoritmos matemáticos y científicos ampliamente utilizados. Gracias a esto, si usamos SciPy no tendremos que implementar nosotros estos algoritmos, y podremos aprovechar que las implementaciones que ofrece esta librería están optimizadas para ser lo más eficiente posibles. Dentro de las funciones que ofrece la librería se incluyen algoritmos para clustering o agrupamiento, transformar rápidas de Fourier, interpolación, cálculos sobre estructuras geométricas, por ejemplo como el cálculo de la envolvente convexa, optimización y estadística. SciPy está basado en NumPy e implementa muchas de sus funcionalidades utilizando ndarrays, pero también está conectado a Matplotlib para producir gráficas. La siguiente librería en este ecosistema es Matplotlib, que tiene como preocupación principal mostrar información de forma gráfica para que pueda utilizarse de forma efectiva. Matplotlib está también implementada para ser muy eficiente y poder producir gráficas muy rápidamente. Aunque tiene varias funcionalidades independientes, la principal y más utilizada son las que sirven para construir gráficas al estilo de Matlab y que se encuentran agrupadas en un módulo llamado PyPlot. Además, Matplotlib incluye también funciones para manipular imágenes rasterizadas en formatos diferentes como jpeg y png. En los siguientes videos hablaremos mucho más de Matplotlib y de todas estas funcionalidades. A continuación, tenemos SymPy, la librería que sirve para hacer matemática simbólica. Esto quiere decir que SymPy nos ofrece capacidades para manipular ecuaciones y fórmulas sin convertirlas inmediatamente a números. Esto nos permite por ejemplo derivar e integrar las funciones, trabajar con matrices, y trabajar con matemáticas discretas y combinatorias. Una parte muy importante de SymPy son los solvers o funciones que nos permiten resolver ecuaciones y sistemas de ecuaciones aplicando múltiples métodos de resolución. Y como en todas las otras librerías que estamos revisando, SymPy procura que las implementaciones de los algoritmos sean tan eficientes como sea posible. Finalmente, SymPy ofrece mecanismos de visualización, también basados en Matplotlib para construir fácilmente gráficas a partir de nuestras fórmulas simbólicas. Finalmente tenemos Pandas, la librería cuyo objetivo es organizar y manipular información con facilidad y de forma muy eficiente. Pandas se basa en los conceptos de series que representan conjuntos de elementos de una dimensión, y DataFrames, que sirven para representar datos en columnas. Por encima de esto, Pandas ofrece visualizaciones que están basadas en Matplotlib pero son mucho más fáciles de usar. Finalmente, Pandas ofrece los medios para extraer datos de fuentes de datos diversas, como archivos en formatos de otras herramientas o incluso de bases de datos relacionales. Más adelante hablaremos mucho más de Pandas. Detengámonos un momento para resolver una pregunta. Esto solo ha sido un abrebocas a los elementos que ofrece el ecosistema SciPy. Como se pudieron dar cuenta, todas estas librerías ofrecen muchas funcionalidades y además necesitan de conocimiento especializado en el dominio de cada una para que tenga sentido usarlas. Sin embargo, es útil saber que existen y cuáles son sus principales objetivos para saber qué buscar si más adelante aparece alguna necesidad particular. En las lecciones que restan nos vamos a concentrar en Matplotlib y Pandas, que son las librerías más genéricas del grupo, se pueden aplicar en más dominios diferentes y son las herramientas fundamentales para hacer análisis de datos. [MÚSICA]