<jupyter_start><jupyter_text>Google Colaboratory Uno Jupyter notebook è un insieme di celle che permettono sia di annotare informazioni (Celle di Testo) che di scrivere codice (Celle di Codice ).   Text Cell  Una cella di testo è una cella utilizzata per annotare appunti in modo semplice e veloce. Al fine di annotare velocemente informazioni si utilizza un astrazione del linguaggio html chiamato Markdown. Questo linguaggio permette velocemnte  e in modo poco verbose di scrivere codice html.   Markdown  Riassumiamo le principali caratteristiche del linguaggio Markdown che utilizzeremo per scrivere appunti nei nostri notebook.Maggiori informazioni sul linguaggio Markdown si posso trovare leggendo [Markdown Guide](https://colab.research.google.com/notebooks/markdown_guide.ipynb) e l'articolo [Mastering Markdown](https://guides.github.com/features/mastering-markdown/).  Headers >      h1     h2     h3     h4     h5  Bold e Italic > **bold text** , *italicized text* ~~strikethrough~~>     **bold text** , *italicized text* , ~~strikethrough~~      Blockquote > 1 blockquote>> 2 blockquote>     > 1 blockquote    >> 2 blockquote  Liste Ordinate1. First item2. Second item3. Third item---Non ordinate>     - First item    - Second item    - Third item- First item- Second item- Third itemLista di Task da fare>    - [x] Write the press release    - [ ] Update the website    - [ ] Contact the media- [x] Write the press release- [ ] Update the website- [ ] Contact the media  Latex Math formula >     1. $\sqrt{3x-1}+(1+x)^2.$    2. $y=x^2$    3. $e^{i\pi} + 1 = 0$    4. $e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i$    5. $\frac{n!}{k!(n-k)!} = {n \choose k}$    6. $A_{m,n} =\begin{pmatrix}                  a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\                  a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\                  \vdots  & \vdots  & \ddots & \vdots  \\                  a_{m,1} & a_{m,2} & \cdots & a_{m,n}                 \end{pmatrix}$> 1) $\sqrt{3x-1}+(1+x)^2.$> 2) $y=x^2$> 3) $e^{i\pi} + 1 = 0$> 4) $e^x=\sum_{i=0}^\infty \frac{1}{i!}x^i$> 5) $\frac{n!}{k!(n-k)!} = {n \choose k}$> 6) $A_{m,n} = \begin{pmatrix}  a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\  a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\  \vdots  & \vdots  & \ddots & \vdots  \\  a_{m,1} & a_{m,2} & \cdots & a_{m,n} \end{pmatrix}$  Codice >    ```    codice    ```    ```pythonimport numpy as npa = np.array[1,2,3,4]print("Vettore:", a)s  = np.sum()print("Somma degli elementi del vettore: " + s)```  Link >     [Github Repository](https://github.com/visiont3lab/tecnologie_data_science)[Github Repository](https://github.com/visiont3lab/tecnologie_data_science)  Image >     ![visionlab](https://raw.githubusercontent.com/visiont3lab/tecnologie_data_science/master/book/logo.png)![visionlab](https://raw.githubusercontent.com/visiont3lab/tecnologie_data_science/master/book/logo.png)  Table >	| Syntax | Description |    | ----------- | ----------- |    | Header | Title |    | Paragraph | Text || Syntax | Description || ----------- | ----------- || Header | Title || Paragraph | Text |  Code Cell Una cella di codice serve per eseguire un programma scritto in linguaggio python. In particolare utilizzeremo sempre Python 3 Jupyter notebook.  Shortcut per eseguire codice * Cliccando l'icona di **Play** della cella il codice contenuto in essa viene eseguito.* Cliccando  **Cmd/Ctrl+Enter** viene eseguito il codice della cella evidenziata.* Cliccando **Shift+Enter** viene eseguito il codice della cella evidenziata e il focus passa alla cella sucessiva.* Cliccando **Alt+Enter** viene eseguito il codice della cella e viene inserita anche un nuovo blocco di codice.  Suggerimenti e auto-completamento Google Colab ha un sistema di suggerimenti che viene triggerato schicciando Tab mentre si scrive codice. Esso è utile per scrivere velocemente codice ed evitare errori di sintassi.<jupyter_code># Importare la libreria numpy
import numpy as np
np.random. 
# Se si prova a scrivere np.random. vedremo
# apparire dei suggerimenti
# Se premiamo Tab apparirà anche la documentazione
# associata alla funzione
np.random?
# Premendo Shift-Enter viene aperta la documentazione
# Il punto interrogativo alla fine chiama
# la documentazione quando il codice viene 
# eseguito<jupyter_output><empty_output><jupyter_text>Esecuzione di comandi  Google Colaboratory ci permette mediante uno Jupyter Notebook di eseguire il nostro codice Python e Mardown. Tuttavia è possibile che vi sia la necessità di installare programmi sul computer che ospita il nostro notebook. Per face ciò è necessario create una cella di codice e inserire il punto esclamativo **!** davanti all'istruzione che si vuole eseguire. Quest'ultima sarà un instruzione di sistema.  Siccome la macchina che ospita il nostro notebook è una macchina linux è comune utilizzare il linguaggio **bash** per eseguire comando.Jupyter notebbok fornisce una lista di comandi che possono essere utilizzati per scrivere codice javascript (**%%javascript**), nascondere gli ouput del codice eseguito (**%%capture**) o creare un file utilizzando il notebook (**%%writefile**). Tali comandi vanno inseriti all'inizio del blocco di codice. La lista completa dei comandi si trova [Built-in-Magics Commands](https://ipython.readthedocs.io/en/stable/interactive/magics.htmlcell-magics)<jupyter_code># Percorso file a cui sono
!pwd
# Elencare i file contenuti in una cartella
!ls
# Elencare i file contenuti in una cartella
!cd sample_data && ls 
# Entrare in un cartella
%cd sample_data/ 
# Muovermi nella cartella superiore
%cd ..
# Nascondere l'output di un comando.
# I comandi di installazione generano output verbosi che si 
# possono nascondere aggiungendo alla cella il comando
%%capture

# Installare un pacchetto python usando
# pip package manager
# !pip list # elencare i pacchetti installati
!pip install names 
!apt-get -qq install -y libfluidsynth1
# Clonare un repositorio git 
!git clone https://github.com/visiont3lab/tecnologie_data_science.git && ls
# Creazione di un file python myLib.py
%%writefile myLib.py
import numpy as np
import plotly.graph_objects as go
from matplotlib import pyplot as plt

def myplot(x,y):
    #fig = go.Figure()
    #fig.add_trace( go.Scatter(x=x,y=y, mode="lines+markers", name="Line") )
    fig = plt.plot(x,y)
    return fig

# Utilizzo del file mylib.py creato
from importlib import reload 
import myLib
myLib = reload(myLib)

x = np.arange(0.0, 2.0, 0.01)
y = 1 + np.sin(2 * np.pi * x)
fig = myLib.myplot(x,y)

%%script bash
# È possibile scrivere codice bash
ls > name.txt;
cat name.txt
for i in 1 2 3; do
    echo $i
done<jupyter_output>m.txt
myLib.py
name.txt
__pycache__
sample_data
tecnologie_data_science
test.py
1
2
3<jupyter_text>Montare Google Drive come hard disk esterno Una delle qualità di Google Colaboratory  è il fatto che esso è connesso a Google Drive. Questo fa si che i notebook che vengono creati utilizzando Google Colab vengano automaticamente salvati nel drive dell'utente. Inoltre è possibile accedere al prorpio drive e lavorare con dei file contenuti in esso. Questo approccio è estramente interessante in quanto permette di combinare l'abilità di scrivere codice di Google Colab con le capacità di archiviazione file fornite da Google Drive.  Di seguito `è riporatata la sequenza di comandi necessaria per montare il drive dell'utente all'interno di Google Colab. La sequenza di instruzioni sucessiva equivale al bottone chiamata **Mount Drive** che si a sinistra nel gruppo **Files**.<jupyter_code>from google.colab import drive
drive.mount('/content/drive')
%cd /content/drive/My Drive/lessons/tecnologie_data_science
!ls<jupyter_output>/content/drive/My Drive/lessons/tecnologie_data_science
_Dani  Market-Basket-Analysis-master  _template_PySpark
_Manu  tecnologie_data_science.xlsx
StarcoderdataJupyterStructuredCleanDedup