FuenteLos consejos y trucos, especialmente en programación, pueden ser muy útiles. Un pequeño shotcat, addon o hack puede ahorrar mucho tiempo y aumentar drásticamente la productividad. Reuní a mis favoritos e hice este artículo con ellos. Algunos de los consejos a continuación ya son conocidos por muchos, y algunos han aparecido recientemente. De una forma u otra, estoy seguro de que ciertamente no serán superfluas cuando una vez más se embarque en un proyecto de análisis de datos.
1. Perfilando el marco de datos de Pandas
La creación de perfiles lo ayuda a comprender mejor nuestros datos, y el paquete Pandas Profiling fue creado solo para esto. La biblioteca brindará la oportunidad de realizar análisis exploratorios del Marco de datos de Pandas de manera fácil y rápida. Normalmente, en tales casos, las funciones df.describe () y df.info () se utilizan como primer paso, pero informan poco y funcionan mal con grandes conjuntos de datos. Por el contrario, una línea de código que utiliza Pandas Profiling generará mucha información en un informe HTML interactivo.
Esto es lo que se calcula para un conjunto de datos dado:
Salida de estadísticas por Pandas Profiling.Instalación
pip install pandas-profiling conda install -c anaconda pandas-profiling
Uso
Usemos el Titanic Passenger Dataset para mostrar el generador de perfiles.
# import pandas as pd import pandas_profiling
df = pd.read_csv('titanic/train.csv') pandas_profiling.ProfileReport(df)
Esto es todo lo que necesita para mostrar los resultados del perfil. El informe está lleno de detalles, incluidos, en su caso, gráficos.
El informe se puede exportar a un archivo HTML interactivo :
profile = pandas_profiling.ProfileReport(df) profile.to_file(outputfile="Titanic data profiling.html")
Haga clic aquí para ver en vivo.
( carpeta con ejemplos - aprox. transl.)
2. Hacer interactivos los gráficos de pandas
La clase DataFrame en Pandas tiene una función incorporada .plot () . Sin embargo, la visualización creada con su ayuda no es interactiva, lo que me gustaría mejorar. Por otro lado, tampoco quiero rechazar la simplicidad de usar la función. ¿Qué pasaría si pudiéramos hacer que los gráficos de Pandas sean interactivos sin hacer ningún cambio en el código? Esto es exactamente lo que es posible con la biblioteca Cufflinks .
Gemelos conecta la fuerza de plotly con la flexibilidad de Pandas para gráficos interactivos. Veamos cómo puede instalar la biblioteca y hacer que funcione con Pandas .
Instalación
pip install plotly # Plotly Cufflinks pip install cufflinks
Uso
# Pandas import pandas as pd # plotly cufflinks import cufflinks as cf
import plotly.offline cf.go_offline() cf.set_config_file(offline=False, world_readable=True)
Es hora de ver todo el poder del instrumento en los datos de los pasajeros del Titanic.
df.iplot()
df.plot () en comparación con df.iplot ()La visualización inferior muestra un diagrama estático, mientras que el diagrama superior es interactivo y más detallado, todo sin cambios significativos de sintaxis.
Aquí puedes ver más ejemplos.
3. Un poco de magia
Los comandos mágicos son un conjunto de funciones convenientes en las computadoras portátiles Jupyter diseñadas para resolver tareas comunes de análisis de datos estándar. Puede ver todas las funciones disponibles con % lsmagic .
Lista de todas las funciones "mágicas" disponiblesHay dos tipos de comandos mágicos: magias de línea , que comienzan con un solo % y funcionan en la misma línea; y la magia de las células , que están asociadas con el doble %% y funcionan en múltiples líneas.
Veamos los que son útiles en las tareas generales de análisis de datos:
% pastebin carga el código en Pastebin y devuelve url. Pastebin es un sitio donde podemos guardar texto sin formato, por ejemplo, un fragmento del código fuente, para luego pasar el enlace a otros. De hecho, el GitHub Gist es similar a Pastebin, aunque con control de versiones.
Considere el siguiente script:
# file.py def foo(x): return x
El uso de % pastebin en un cuaderno de Jupyter creará una URL en Pastebin.
El comando en línea% matplotlib se utiliza para visualizar trazados estáticos de matplotlib en un cuaderno de Jupyter. Reemplace en línea con el cuaderno para obtener gráficos escalables y mutables. Solo asegúrese de agregar el comando antes de importar matplotlib .
% matplotlib en línea en comparación con el cuaderno% matplotlibEl comando % run ejecuta el script dentro de Jupyter Notebook.
%run file.py
%% writefile escribe el contenido de una celda en un archivo. El siguiente código se escribirá en un archivo llamado foo.py y se guardará en el directorio actual.
La función %% latex muestra el contenido de la celda como LaTeX. Esto es útil para escribir fórmulas y ecuaciones matemáticas en una celda.
4. Solución de problemas
El depurador interactivo también es un equipo mágico, pero le di mi propia categoría. Si se produce una excepción al iniciar la celda con el código, ingrese el comando % debug en una nueva línea y ejecútelo. Se abre un entorno de depuración interactivo que muestra la ubicación donde ocurrió la excepción. Puede verificar los valores de las variables y realizar varias operaciones. Para salir del depurador, presione q .
5. La conclusión puede ser hermosa
Si desea que sus estructuras de datos se muestren maravillosamente, entonces pprint es su elección. Esto es especialmente útil al imprimir diccionarios o datos JSON. Veamos el código que usa tanto print como pprint para la salida.
6. Notas destacadas
Podemos usar alertas en nuestros cuadernos Jupyter para resaltar algo importante. El color dependerá del tipo de alerta. Simplemente agregue cualquiera o todos los siguientes códigos a la celda que desea resaltar.
<div class="alert alert-block alert-info"> <b>Tip:</b> Use blue boxes (alert-info) for tips and notes. If it's a note, you don't have to include the word “Note”. </div>
- Alerta amarilla: advertencia
<div class="alert alert-block alert-warning"> <b>Example:</b> Yellow Boxes are generally used to include additional examples or mathematical formulas. </div>
<div class="alert alert-block alert-success"> Use green box only when necessary like to display links to related content. </div>
<div class="alert alert-block alert-danger"> It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc. </div>
7. Imprima cada salida en una celda
Considere una celda Jupyter Notebook que contiene este código:
In [1]: 10+5 11+6
Out [1]: 17
Esta es una propiedad normal de la celda en la que solo se imprime la última salida, y para otros necesitamos agregar la función print () . Bueno, resulta que podemos imprimir todas las conclusiones agregando el siguiente fragmento desde arriba:
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"
Ahora todas las conclusiones se imprimen una tras otra.
In [1]: 10+5 11+6 12+7
Out [1]: 15 Out [1]: 17 Out [1]: 19
Para volver a la configuración inicial:
InteractiveShell.ast_node_interactivity = "last_expr"
8. Ejecutar scripts de Python con la opción -i.
Una forma típica de ejecutar un script Python desde la línea de comando es: python hello.py . Sin embargo, si agrega el parámetro - i, es decir llame a python -i hello.py obtendrá mucho más. Veamos qué exactamente.
- Primero, una vez que se alcanza el final del programa, Python ya no sale del intérprete. Por lo tanto, podemos verificar los valores de las variables y la corrección de las funciones definidas en nuestro programa.
- En segundo lugar, dado que todavía estamos en el intérprete, podemos llamar fácilmente al depurador de python:
import pdb pdb.pm()
Esto nos llevará al lugar donde ocurrió la excepción, y podemos seguir trabajando en el código.
La fuente original de características.
9. Comentarios automáticos de código (ras)
Ctrl / Cmd + / comenta automáticamente las líneas seleccionadas en la celda. Al presionar la combinación nuevamente se eliminarán las mismas líneas.
(Esto, por cierto, es cierto para otros editores como Pycharm o Sublime Text - aprox. Transl.)
10. Cancelación de acciones aleatorias.
¿Alguna vez has borrado accidentalmente una celda de Jupyter Notebook? Si es así, aquí están los shotcats que cancelarán esta acción.
- En caso de que haya eliminado el contenido dentro de la celda, puede restaurarlo fácilmente presionando CTRL / CMD + Z
- Si necesita restaurar la celda eliminada, ESC + Z o EDITAR> Deshacer eliminar celdas
Conclusión
En este artículo, he enumerado los consejos básicos que me ayudan cuando trabajo con Python y Jupyter Notebooks. Espero que te ayuden también. ¡Feliz codificación!