<jupyter_start><jupyter_text>00 Introduccion a notebookEste notebook esta pensado como introduccion al uso de notebooks a fin de poder aprender la dinamica, logica y potencial de los notebooks (INotebooks, Jupyter Notebooks, Goolge Colab, etc).Los Notebooks son muy utilizados en el area de **Data science y Machine Learning**, por lo que es importante saber usarlos para poder avanzar con el aprendisaje de esto mismo.En estos notebooks usaremos python para ejecutar codigos.  Explicacion.Los notebooks son archivos .ipynb que son cargados y procesados por algun motor como por ejemplo Jupyter, Colab, etc.Permiten incorporar texto, imagenes, codigo que luego puede ser ejecutado desde el mismo notebook. por ejemplo que que se encuentra a continuacion.Para ejecutarlo tiene que hacer click en el boton de Play o simplemente precionar ```[SHIT] + [ENTER]```<jupyter_code>a = 1
b = 2

print(a + b)<jupyter_output>3<jupyter_text>Edicion/ModificacionLos notebooks estan compuesto por celdas que pueden ser de tipo texto(Formato Marckdown) o codigo (En estos notebooks usaremos Python como lenguaje de programacion). Las celdas se pueden editar simplemente haciendo doble click o presionando ```[ENTER]```.Pruebe escribir codigo Python en la celda siguiente y ejecutarla.**Ejemplo de codigo:**```def hello_world(name):    print("Hello {0}".format(name))hello_world('Pablo')```<jupyter_code># Escriba su codigo aqui.

def suma(algo, algo2):
    return algo + algo2
suma(2,5)<jupyter_output><empty_output><jupyter_text>Contexto Los notebooks funcionan de forma similar al interprete de python, por ende todo lo que vayamos ejecutando va cargandose al contecto dejandolo disponible para usar en celdas siguientes.A continuacion vamos a tener 2 celdas de codigos separadas.    - La primera con una funcion.    - La segunda va a llamar a la celda a la funcion de la celda anterior para verificar el funcionamiento del contexto.*_Nota:_* tener en cunta que cuando necesitemos usar cosas que se declaran en celdas enteriores primero tenemos que ejecutar estas celdas para luego poder tenerlas disponibles.<jupyter_code>#Funcion que permite calcular el Cuadrado de un numero.
def square(number):
    return number*number
#Llamamos a la funcion creada en la celda anterior.
square(3)<jupyter_output><empty_output><jupyter_text>Importando LibreriasEstos notebooks permiten importar librerias(En este caso Python) que tengamos instaladas en la maquina que esta ejecutando el notebook de la misma forma que hacemos en script comun.<jupyter_code>#importamos random
import random
#Llamamos a random previamente importado
print(random.randint(0,10))<jupyter_output>2<jupyter_text>Instalacion de librerias por medio de PIP (Ejecucion)Para instalar librerias en un notebook se utiliza una sintaxis especial la cual permite ejecutar comandos extenos a python como ser [PIP](https://pypi.org/project/pip/), la sintaxis para pip es la sigiente```!pip install atom```__Nota:__ En este caso usamos [atom](https://pypi.org/project/atom/) solo como ejemplo<jupyter_code># Instalamos atom
!pip install atom
# importamos atom para verificar que se instalo correctamente

from atom.api import Atom<jupyter_output><empty_output><jupyter_text>Momento de probar y aprenderLuego de esta rapida intruduccion les propongo que escriban un poco de codigo en este notebook para aprender un poco mas<jupyter_code># Practiquen con su propio codigo aca.<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.06073815751235106, 'fraction_numerical': 0.004649811101424005, 'mean_word_length': 5.9535353535353535, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '524648', 'license': 'MIT', 'n_tokens_mistral': 1108, 'n_tokens_neox': 1084, 'n_words': 427, 'path': 'notebooks/00_Introduction/00_Introduccion_Notebook.ipynb', 'repo_name': 'ElDwarf/DS_and_ML_Docs', 'size': '3441'}