Primeros Pasos

En este artículo conoceremos algunas de las librerías de python más utilizadas en la ciencia de datos.

Bienvenidas/os!!, muchas gracias por visitarnos, esperamos que disfruten su tiempo con nosotros. A continuación veremos una introducción al mundo Python de la ciencia de datos.

Python es uno de los lenguajes computacionales más utilizados en las comunidades científicas y de investigación, y una de las razones principales para ello, es su facilidad de uso y su sintaxis simple, lo que lo hace muy apto para personas que no tienen experiencia en programación.

En este artículo, veremos las aplicaciones y librerías más comunes en Python utilizadas en ciencia de datos.

Si están interesados en las librerías específicas para trabajar con archivos estándar de la industria del petróleo y gas, visiten nuestro artículo Archivos LAS, LIS y DLIS en Python

ℹ️ La enseñanza de programación dura en Python no la haremos, la consideraremos como ya sabida por ustedes. Pero no entren en pánico, sabiendo lo básico de programación en Python, (manejo de listas, diccionarios, clases, def, indexing, loops, etc), ya les va a alcanzar para practicar con nuestros ejemplos..

ℹ️ Todos los ejemplos de códigos python en nuestro sitio web van a encontrarlos en nuestro repositorio GitHub. Los mismos fueron creados en archivos Jupyter Notebook (tienen la extensión .ipynb).


LIBRERÍAS



ANACONDA

Anaconda es una suite de aplicaciones, librerías y conceptos diseñados para el desarrollo de la ciencia de datos con Python. Como todo lo relacionado a Python suele ser, es de código abierto.

Es algo que les recomendamos utilizar para trabajar en python si van a adentrarse en ciencia de datos. Hay varias razones, pero las principales, a nuestro entender, serían:

  • Al instalar Anaconda, también instalaremos python, como así también varias librerías relacionadas a la ciencia de datos, entre las cuales nombraremos a NumPy, pandas, scikit-learn, matplotlib, plotly, tensorflow, etc.
  • Además instala Jupyter Notebook y JupyterLab, las cuales son aplicaciones que hacen mucho más fácil y amigable escribir códigos en python, hacer anotaciones, etc. | VOLVER⤴️
ℹ️ Si por alguna razón, no descargan Anaconda y todo el suite de librerías incluido con la misma, para instalar una librería en Python sólo deben escribir en la línea de comandos pip install nombre_librería (por ejemplo: pip install numpy ).

Jupyter Notebook y JupyterLab

Jupyter Notebook es la aplicación original, es muy simple y es muy aconsejable utilizarla para escribir código.

JupyterLab fue desarrollada más tarde, tiene la capacidad de hacer lo mismo que Jupyter Notebook, pero además permite utilizar hojas de cálculo, PDF, HTML, etc. También podremos editar y ejecutar códigos en otros lenguajes como R o Scala. Sumado a todo esto, los usuarios pueden configurar y organizar flujos de trabajo en ciencia de datos, computación científica, periodismo computacional y aprendizaje automático.

Como si esto fuera poco, además integra toda una serie de herramientas modernas que permiten incrementar la colaboración entre los profesionales, publicar y revisar código entre personas de todo el mundo, en flujos como los que nos proporcionan GitHub o GitLab. | VOLVER⤴️



pandas

pandas es una librería muy potente para manejar datos, nos permite filtrar, analizar, y hacer control de calidad de los mismos. A menudo, pandas es utilizado para preparar la información para pasos siguientes (machine learning, gráficos, etc).

Tomemos los valores nulos como ejemplo (nan, Nan). Dentro de un dataframe pandas podremos encontrarlos fácilmente utilizando filtros, reemplazarlos manualmente y/o interpolarlos, etc. Si queremos descartar la información con datos nulos, podremos filtrarla y crear otro dataset/dataframe de manera muy sencilla, o pisar el original, y mucho más.

Si quieren practicar un poco con dataframes pandas, en varios de los archivos dentro de nuestro repositorio GitHub van a encontrar ejemplos. También pueden optar por visitar este artículo en nuestro sitio. | VOLVER⤴️



NumPy

NumPy es una librería de Python que proporciona la habilidad de simplificar el trabajo con matrices multidimensionales de gran tamaño, y una variedad de rutinas para operaciones rápidas en matrices que incluyen: manipulación matemática, lógica, de formas, clasificación, selección, E/S. , transformadas discretas de Fourier, álgebra lineal básica, operaciones estadísticas básicas, simulación aleatoria y mucho más. | VOLVER⤴️



scikit-learn

Scikit-learn es una librería de Python dedicada al aprendizaje automático, contiene muchas herramientas para el aprendizaje automático y el modelado estadístico, incluidas la clasificación, regresión, agrupamiento o clustering, y la reducción de la dimensionalidad.

Siempre hay que tener en cuenta que no está diseñada para leer, manejar y limpiar los datos, por lo tanto, es conveniente hacerlo con NumPy, pandas u otra librería previa a correr scikit-learn. | VOLVER⤴️



TensorFlow

TensorFlow es una librería de código abierto para el aprendizaje automático. Fue desarrollado por Google para satisfacer sus necesidades de sistemas capaces de construir y entrenar redes neuronales para detectar y descifrar patrones y correlaciones, análogos al aprendizaje y razonamiento usados por los humanos.

Una de las librerías más destacadas de TensorFlow es Keras. Keras está diseñado para ir construyendo la arquitectura de cada red neuronal por bloques, incluyendo redes convolucionales y recurrentes, que son las que permiten, junto a los bloques “más tradicionales”, entrenar modelos deep learning. | VOLVER⤴️



matplotlib, plotly, seaborn

Estas 3 librerías están destinadas a graficar datos. Cada cual tiene sus puntos fuertes y sus puntos débiles, así que seguramente utilizaremos una u otra según nuestra conveniencia…La interacción usuario-gráfico ente matplotlib y seaborn es similar, ya que seaborn corre encima de matplotlib. seaborn suma líneas de código más sencillas, gráficos mejor estilizados, y su interacción con pandas es más estrecha.

plotly, en cambio, es una librería con una filosofía muy diferente, es infinitamente superior en cuanto a la interacción usuario-gráfico, pero tiene algunas limitaciones cuando tenemos que personalizar demasiado nuestro gráfico.

Lo que haremos a continuación es repasar algunas ventajas y desventajas de las dos librerías principales que estamos analizando, matplotlib y plotly.

💡 Hay varias otras librerías gráficas aparte de estas tres que no utilizaremos en nuestro sitio, pero para empezar a trabajar creemos que matplotlib, plotly y seaborn son excelentes opciones.

matplotlib

✅ Con muy pocas y simples líneas de código obtenemos gráficos, si sólo deseamos echar un vistazo a los datos es ideal.

✅ Todo puede ser configurado, ejes, colores, cantidad y espaciamiento de escalas por encima del track con varias curvas en un plot (por ejemplo), rastras de rocas y minerales, etc.

✅ Soporte. Foro muy grande y activo.

❌ La interacción en los gráficos es demasiado básica (zoom, ver valores mientras nos deslizamos por el gráfico, etc)


plotly

✅ Al igual que matplotlib, con muy pocas y simples líneas de código obtenemos gráficos.

✅ Muy buena calidad en los gráficos.

✅ Excelente interacción usuario y gráfico.

❌ Código cerrado, hay muchas cosas que todavía no se pueden configurar en los gráficos de plotly. Si a eso le agregamos que hay que esperar tiempo para que las sugerencias que hacen los usuarios entren en los realeses..

❌ Consume muchos recursos. Si los datasets con los que estamos trabajando son grandes, se hace a veces muy tedioso trabajar con los gráficos.

Bueno, ahora que sabemos un poco más sobre estas librerías, quizás podamos acomodarlas a nuestras necesidades. Por ejemplo, si deseamos graficar un scatter plot sencillo, donde los datasets no sean muy pesados (crossplot Densidad-Neutron), probablemente plolty sea una buena elección.

En cambio, si nuestro objetivo es un gráfico símil log combinado con varios tracks, varias curvas en cada track, áreas entre curvas pintadas, etc, deberemos utilizar matplotlib. | VOLVER⤴️


Les agradecemos su tiempo y esperamos fervientemente que hayan disfrutado este artículo. Si tienen alguna consulta, desean hacer algún comentario o sugerencia para mejorar el contenido, o simplemente indicarles qué les pareció este artículo, debajo pueden hacerlo.

Esperamos reencontrarlos en algún otro artículo del sitio. Hasta luego!


comments powered by Disqus