Jupyter

JUPYTER:
Índice de la página:
Web de Tabla de Colores
Utilidades.
Markdown.
Extensiones.
Funciones Mágicas.
Graficar.
format (diferentes formatos)


------------------------------------------------------------------------------- 

Web de Tabla de Colores
Web de Temas y Extensiones

Utilidades:
Barras invertidas para path: Tenemos que utilizar la barra contraria / Si no queremos cambiar las barras, en una dirección poner la r Ejemplo: pandas.read_cvs(r"C:\user\titanic3.cvs")
Autocompletado: Si vemos que con tabulador no nos autocompleta, escribir como primera línea del Notebook
 %config IPCompleter.greedy=True
Partir una línea de código: Tenemos que colocar al final de la línea la barra invertida \ 


Añadir celdas nuevas: Menú\Icono "+"
Ver los atajos del teclado:Menú\Help\Keyboard Shortcuts\ o pulsar el icono del menú "Open the command palette"
Ctrl + intro: Ejecuta pero no se crea una nueva celda.
Mayus + intro: Ejecuta y se crea una nueva celda
#: Añadir comentario dentro del código en una línea (al principio o en cualquier sitio).
''': Comentario en varias líneas, poner las 3 comillas simples al principio y al final.
Ctrl + Z: Vuelve a lo anterior (Deshacer)
Ctrl + Y: Rehace lo deshecho (Rehacer)
Ctrl + F: Búsqueda de palabras.
Ctrl + C: Copiar.
Ctrl + V: Pegar.
Ctrl + X: Cortar.
Texto de código en dos líneas:Poner al final de la línea \

Ver ayuda en ventana de abajo.- Poner el signo ? al final y pulsar Ctrl + Enter
Ver ayuda en ventana flotante.- Sin poner ningún signo y estando al final pulsar Mayus + Tab
Ver cuadro combinado de métodos, tipos, etc.- Ejemplo: format. (después del punto pulsar Tab)

Borrar en una celda el resultado de una ejecución.-  Menú\Cell\Current Output\Clear
Borrar el resultado de ejecución en todo el programa.- Menú\Cell\All Output\Clear

Parar la ejecución de un celda.- Pulsar el icono "Interrupt the Kermel"
Visualización del resultado de una celda en cuadro combinado.- Pulsar a la izquierda del resultado de la celda

Ejecutar celda seleccionada.- Ctrl + Enter
Ejecutar celda seleccionada e ir a la siguiente celda.- Shift + Enter
Ejecutar celda seleccionada e insertar abajo.- Alt + Enter

Mostrar imágenes en Celdas con código (No en Markdown): (también se ven las .jpg)
from IPython.display import Image  # Librería para ver una imagen en un celda de código
Image(filename = 'Kurtosis.png')     # Vemos la imagen 'Kurtosis.png' que se encuentra en la misma carpeta de este Notebook.


----------------------------------------------------------------

Markdown:
Markdown nos permite escribir en texto plano pero introduciendo algunas mejoras a este simple código plano. Es donde nos permite escribir los textos o comentarios en la programación dentro de Jupyter.

El video además de comentar lo de cursiva y negrita, comenta que se pueden hacer listas, que se pueden insertar imágenes, que se pueden insertar videos

Ver los atajos del teclado:Menú\Help\Keyboard Shortcuts\  o botón "Open the command palette"
Crear un título de primer nivel:# y un espacio en blanco.

Que el texto se vea en la siguiente línea: doble espacio al final de la última palabra o dejar una línea vacía entre medio del texto.
Texto en negrita: dos asteriscos al principio y dos asteriscos al final.
Texto en cursiva: un asterisco al principio y un asterisco al final.
Texto en negrita y Cursiva: tres asteriscos al principio y tres asteriscos al final.
Texto resaltado: En gris clarito. Apóstrofe (tecla encima del acento)

Añadir Citas: Símbolo mayor que > (el texto se pone un poco a la derecha un tabulador)
Añadir Listas: Comenzar con un guion y separación (se pone un poco a la derecha con un punto delante)
Añadir Listas Numeradas: Comenzar Poner el número y un punto
Crear una separación: Poner 3 guiones bajos consecutivos ___ (crea una separación entre líneas)

Ir a una página web: [Artículo](https://pythonforfinance.net/category/basic-data-analysis/)
Entre corchetes el texto que queramos que se vea, y entre paréntesis la página web a ver.

Que se vean los símbolos que utilizamos:Ejemplo que se vea el asterisco  \* (hemos añadido una barra invertida)

Mostrar imágenes en Markdown:(también se ven las .jpg)

![Imagen de Kurtosis](Kurtosis.png) --  ![texto que vemos dentro de Markdown](nombre y ruta del archivo)

 COLOREAR:
<span style='color: BLUE; font-family:Arial; font-size:110%'> aqui el texto </span>
<b><u> Resaltado </u> </b>

<br> salto de linea

----------------------------------------------------------------

Extensiones:
Instalar 'Nbextensions' desde el promt de Anaconda, dar los siguientes pasos:
Paso1.- conda install -c conda-forge jupyter_contrib_nbextensions
Paso2.- conda install -c conda-forge jupyter_nbextensions_configurator
Paso3.- jupyter nbextensions_configurator enable
Hay que dar los 3 pasos aunque el paso 3 es para que se nos vea la pestaña de Nbextensions
Si no se ve la pestaña de Nbextensions, abra un notebook y haga clic en Editar \ nbextensions config

EXTENSIONES INSTALADAS EN JUPYTER:
Table of Contents (2): easier navigation (Tabla de contenidos: navegación más fácil) (Es el índice lado izquierdo del notebook)
Autopep8: neat code in one click (código limpio con un clic en el martillo) puede que haya que instalarlo con pip install autopep8
Variable inspector: keep track of your workspace (Inspector de variables)
ExecuteTime: show when and how long cells ran (muestra cuando y en cuanto tiempo se ejecutaron las celdas)
Hide input: hide the work show the results (Ocultar el código).
Hinterland: (Autocompletado de código)
Nbextensions edit menu item: (Agrega el elemento de configuración al menú 'Edit'
Snippets Menu (Agrega al menú el elemento personalizable 'Snippets' para añadir el código creado por nosotros.
Highlighter: (Resaltados de palabras con colores de fondo en las palabras)
Nbextensions dashboard tab


Highlighter (resaltado de palabras y aporta colores a las celdas Markdown)
Utilidades: Ver o esconder los botones "Pulsar el primer botón"
Borrar lo puesto con Highlighter en una celda "Último botón, el de la X"

En  Highlighter: (Resaltado de palabras con colores de fondo en las palabras), podemos modificar el archivo highlighter.css que es el que modifica el color y el fondo del texto. Y también podemos modificar el archivo highlighter.js que es al que le podemos añadir más botones.
Carpeta de donde tenemos que modificar estos 2 archivos: C:\ProgramData\jupyter\nbextensions\highlighter\ (hacer los cambios siempre desde esta carpeta).
Estos 2 archivos, también se encuentran en la carpeta: E:\PYTHON\Anaconda3\Lib\site-packages\jupyter_contrib_nbextensions\nbextensions\highlighter\, pero desde aquí los cambios que hagamos NO LOS RECONOCE Jupyter. Por lo tanto hacerlos siempre desde la otra carpeta.

Para el funcionamiento en otros ordenadores: Copiar los archivos highlighter.csshighlighter.js desde un ordenador que ya funcione highlighter, a las dos carpetas descritas anteriormente.

# Extension que Ordena y Filtra tablas
import qgrid  # Importamos la libreria qgrid
x = qgrid.show_grid(df)  # df es el DataFrame

----------------------------------------------------------------

Funciones Mágicas:
(Estas funciones no están en Python solo están en Jupyter, y siempre comienzan por % ó %%)
    % para órdenes que afectan a una sola línea.
    %% para órdenes que afectan a toda una celda.

1.- Te da la web para acceder desde cualquier navegador
2.- Instalar paquetes desde Jupyter.
3.- %run archivo.py Ejecutar código de otro archivo o ejecutar código de otro Notebook.
4.- %load archivo.py Cargar código de otro archivo, el código aparece en la misma celda. También desde una pág web
5.- %who  %whos Ver todas las variables globales, funciones, etc
6.- %%time Mide el tiempo de ejecución de una celda, %timeit o el de una línea.
7.- %%latex Muestra código en latex (similar a imagen de ecuaciones y fórmulas matemáticas).
8.- !dir Utilizar comandos del sistema operativo. %%! o toda la celda ejecuta comandos del sistema
9.- %%writefile archivo.py Escribir en un archivo el contenido de una celda.
10.- %pycat archivo.py Leer y mostrar el contenido de un archivo.

%lsmagic (lista todas las órdenes mágicas disponibles)

%timeit Cronometra el tiempo de procesado que tarda en hacer un cometido (en C:\Usuarios\USER\Dropbox\PYTHON\Tutorial.ipynb hay un ejemplo de esta función, comparando un bucle for con lo mismo pero en numpy) el ejemplo está en el apartado "VARIOS".

%matplotlib inline (Con este backend, la salida de los comandos de trazado se muestra en línea dentro de las interfaces como el cuaderno Jupyter, directamente debajo de la celda de código que lo produjo. Los gráficos resultantes también se almacenarán en el documento del cuaderno.


----------------------------------------------------------------

Graficar:
# Para graficar correctamente en el notebook hacemos lo siguiente
%matplotlib inline
# esto hace que los graficos se visualicen en el notebook
import matplotlib.pyplot as plt
import matplotlib.pylab as pylab
pylab.rcParams['figure.figsize'] = 18, 10 # Definimos el tamaño de los gráficos para que se ajusten bien al notebook

----------------------------------------------------------------


format (diferentes formatos):
str(round(df.drawdown.min(), 2))+'%'  # Lo dejo con 2 decimales y lo convierto a string para ponerle %
'%.2f' % df + '%'  # Como ya es un string lo dejo con 2 decimales y le pongo el caracter %
df = f'{df / 100:.2%}'   # Lo convierte en string con 2 decimales y le pone el caracter %
print('{0} y {1}'.format('carne', 'huevos'))  # Resultado carne y huevos
print('{1} y {0}'.format('carne', 'huevos'))  # Resultado huevos y carne


----------------------------------------------------------------