8.3 pandas

pandas es un paquete open-source que nos proporciona una forma sencilla y potente de trabajar con estructuras de datos a través de múltiples herramientas para su análisis. La forma más común de importar esta librería es usar el alias pd: Si bien en Numpy la estructura de datos fundamental es el ndarray, en pandas existen…

8.2.4 Operaciones sobre arrays

Operaciones lógicas Indexado booleano El indexado booleano es una operación que permite conocer (a nivel de elemento) si un array cumple o no con una determinada condición: Las condiciones pueden ser más complejas e incorporar operadores lógicos | (or) y & (and): Consejo: El uso de paréntesis es obligatorio si queremos mantener la precedencia y…

8.2.3 Manipulando elementos

Los arrays multidimensionales de NumPy están indexados por unos ejes que establecen la forma en la que debemos acceder a sus elementos. Véase el siguiente diagrama: Figura 15: Esquema de ejes sobre los arrays de NumPy Arrays unidimensionales Acceso a arrays unidimensionales Modificación a arrays unidimensionales Borrado en arrays unidimensionales Inserción en arrays unidimensionales Para…

8.2.2 Funciones predefinidas para creación de arrays

NumPy ofrece una gran variedad de funciones predefinidas para creación de arrays que nos permiten simplificar el proceso de construcción de este tipo de estructuras de datos. Valores fijos A continuación veremos una serie de funciones para crear arrays con valores fijos. Ceros Por defecto, ésta y otras funciones del estilo, devuelven valores flotantes. Si…

8.2 numpy

NumPy es el paquete fundamental para computación científica en Python y manejo de arrays numéricos multi-dimensionales. La forma más común de importar esta librería es usar el alias np: En el núcleo de NumPy está el ndarray, donde «nd» es por n-dimensional. Un ndarray es un array multidimensional de elementos del mismo tipo. Aquí tenemos…

8.1.5 Extensiones

El ecosistema de Jupyter Notebook es muy amplio y ofrece una gran variedad de extensiones que se pueden incluir en la instalación que tengamos: Unofficial Jupyter Notebook Extensions. Su instalación es tan sencilla como: El ecosistema de entornos para trabajos en ciencia de datos ha ido ampliándose durante estos últimos años con la explosión del…

8.1.3 MathJax

MathJax es una biblioteca javascript que permite visualizar fórmulas matemáticas en navegadores web, utilizando (entre otros) el lenguajes de marcado LaTeX. Para escribir fórmulas matemáticas la celda debe ser de tipo Markdown y tendremos que usar delimitadores especiales. Fórmulas «en línea»: Se debe usar el delimitador dólar antes y después de la expresión $ ……

CAPÍTULO 8 Ciencia de datos

La Ciencia de Datos representa uno de los ámbitos de aplicación más importantes dentro del mundo Python. De hecho, en la encuesta a desarrolladores/as de JetBrains del año 2021 se puede observar que análisis de datos y aprendizaje automático están en primera y cuarta opción en la pregunta ¿para qué utiliza Python?. Muchos de los…

6.4 Módulos

Escribir pequeños trozos de código puede resultar interesante para realizar determinadas pruebas. Pero a la larga, nuestros programas tenderán a crecer y será necesario agrupar el código en unidades manejables. Los módulos son simplemente ficheros de texto que contienen código Python y representan unidades con las que evitar la repetición y favorecer la reutilización Para…

6.3 Excepciones

Una excepción es el bloque de código que se lanza cuando se produce un error en la ejecución de un programa Python. De hecho ya hemos visto algunas de estas excepciones: accesos fuera de rango a listas o tuplas, accesos a claves inexistentes en diccionarios, etc. Cuando ejecutamos código que podría fallar bajo ciertas circunstancias,…

6.2.5 Herencia

Nivel intermedio La herencia consiste en crear una nueva clase partiendo de una clase existente, pero que añade o modifica ciertos aspectos. Se considera una buena práctica tanto para reutilizar código como para realizar generalizaciones. Figura 13: Nomenclatura de clases en la herencia Heredar desde una clase base Para que una clase «herede» de otra,…

6.2.4 Métodos

Métodos de instancia Un método de instancia es un método que modifica el comportamiento del objeto al que hace referencia. Recibe self como primer parámetro, el cual se convierte en el propio objeto sobre el que estamos trabajando. Python envía este argumento de forma transparente. Veamos un ejemplo en el que, además del constructor, creamos…

6.2 Objetos y Clases

Hasta ahora hemos estado usando objetos de forma totalmente transparente, casi sin ser conscientes de ello. Pero, en realidad, todo en Python es un objeto, desde números a funciones. El lenguaje provee ciertos mecanismos para no tener que usar explícitamente técnicas de orientación a objetos. Llegados a este punto, investigaremos en profundidad sobre la creación…