Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Python: caratteristiche e utilizzo, Appunti di Informatica

Le caratteristiche del linguaggio di programmazione Python, tra cui la semplicità nella manipolazione dei dati e l'utilità per il machine learning. Vengono descritte le istruzioni di selezione, i cicli iterativi, le stringhe e le liste, con vantaggi e svantaggi. Viene inoltre presentata la libreria Matplotlib per la creazione di grafici e la libreria Pandas per il trattamento dei dati in formato tabulare. Il documento può essere utile come appunti per un corso di programmazione.

Tipologia: Appunti

2022/2023

In vendita dal 06/10/2023

cristiana-lucatelli
cristiana-lucatelli 🇮🇹

4.3

(13)

104 documenti

1 / 8

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Python
Python (gruppo comico inglese) è un linguaggio di scripting interpretato, quindi come su java è
necessario l'interprete ovvero la virtual machine. Può essere procedurale o a oggetti. Il suo vantaggio sta
nell'essere un linguaggio semplice soprattutto per la manipolazione dei dati, tramite alcune sue utility,
fondamentale per il machine learning.
Alcune caratteristiche:
Case sensitive: maiuscola o minuscola cambia
Debolmente tipizzato (come PHP)
L'indentazione definisce i blocchi di codice perché non si usano le parentesi graffe
Non serve il ;
'''…''' commenta un blocco di codice
#commenta una riga di codice
Input e output
Output: print("") gli argomenti vengono separati dalla virgola
Per non andare a capo bisogna scrivere end=""
Input: <variabile>=<tipo>(input("<testo>")) se non si definisce il tipo di default prende una stringa
Esiste l'assegnamento multiplo utile per lo swap dei valori tra due variabili
A, B, C= 1, 2, 3 => A=1, B=2, C=3
A, B= B, A
Istruzioni di selezione
if <condizione>:
Codice
else:
Codice
Else if => elif
Gli operatori logici sono and or enot scritti a parole (diverso rimane !=)
Cicli iterativi
While <condizione di entrata>:
Istruzioni
Contatore++ non esiste ma possiamo usare la formula contatore+=1
Il do while non esiste
pf3
pf4
pf5
pf8

Anteprima parziale del testo

Scarica Python: caratteristiche e utilizzo e più Appunti in PDF di Informatica solo su Docsity!

Python

Python (gruppo comico inglese) è un linguaggio di scripting interpretato , quindi come su java è necessario l'interprete ovvero la virtual machine. Può essere procedurale o a oggetti. Il suo vantaggio sta nell'essere un linguaggio semplice soprattutto per la manipolazione dei dati, tramite alcune sue utility, fondamentale per il machine learning. Alcune caratteristiche: ● Case sensitive: maiuscola o minuscola cambia ● Debolmente tipizzato (come PHP) ● L'indentazione definisce i blocchi di codice perché non si usano le parentesi graffe ● Non serve il ; '''…''' commenta un blocco di codice #commenta una riga di codice

Input e output

Output: print("") gli argomenti vengono separati dalla virgola Per non andare a capo bisogna scrivere end="" Input: =(input("")) se non si definisce il tipo di default prende una stringa Esiste l'assegnamento multiplo utile per lo swap dei valori tra due variabili A, B, C= 1, 2, 3 => A=1, B=2, C= A, B= B, A

Istruzioni di selezione

if : Codice else: Codice Else if => elif Gli operatori logici sono and or e not scritti a parole (diverso rimane !=)

Cicli iterativi

While : Istruzioni Contatore++ non esiste ma possiamo usare la formula contatore+= Il do while non esiste

Stringhe

La stringa viene trattata come se fosse un vettore. E’ quindi un oggetto iterabile e alla quale si possono applicare una serie di funzione tra cui lo slicing. Le stringhe però non sono modificabili. Per iterare all'interno di una stringa possiamo fare in due modi: o con un cilo for normnale con un contatore oppure nel seguente modo: For in : Print () Per cercare una stringa all'interno di un altra: If in mystring: Lo slicing (da slice: “fetta”) significa letteralmente affettare, tagliare delle strutture dati, in questo caso le stringhe, per estrarne dei frammenti. La sintassi è la seguente: [start: end: di quanto mi muovo] start incluso e end escluso. La stringa Se end non è specificato finisce a fine parola, se lo start non è specificato inizia a 0, se lo step no è verificato è 1. come step -1 fa il reverse della stringa. Il vettore può avere anche indice negati da -1 in poi al reverse

Le liste

Le liste sono delle collection modificabili di dati diversi For i in lista: Print (i) Te la naviga cella per cella come se fosse un vettore. If item in lista: se lo trova vero se non lo trova falso Vantaggi e svantaggi: Maggiore agevolezza di manipolazioni di dati (come tabella in un database) però con i big data questo approccio risulta particolarmente lento perché l'allocazione di memoria interna è molto complessa (legata all'aritmetica dei puntatori), e i dati vanno maneggiati con attenzione controllando i tipi. La concatenazione delle liste avviene con l'operatore += Possiamo intervenire all'interno della lista per modificarne dei pezzi Esempio: Lista[2:4]=[, ] Mi va a sostituire i dati compresi da 2 a 4 (escluso)

La varianza [media degli scarti quadratici(valore-media)^2] e la deviazione standard [radice della varianza] sono due concetti matematici-statistici che servono a misurare gli spostamenti e le differenze tra dei valori e un valore medio. Dato un insieme di dati, che chiameremo dataset, possiamo facilmente calcolare la media, un indicatore importante ma non è sufficiente. La varianza ci dice quanto i valori di questo dataset si discostano da questo valore, ovvero andiamo a vedere la distribuzione dei valori. Tramite l’analisi della distribuzione possiamo comprendere il rendimento. esempio: dataset1: 6,6, dataset2: 2,7, nonostante questi due dataset abbiano una media uguale, il loro rendimento e quindi la varianza e deviazione standard è diversa. Tramite questa libreria possiamo avere la creazione di matrici e vettori a n dimensioni. esempio: v2= np.array([[1,2,3,0], [4,5,6,0], [7,8,9,0]]) ogni vettore n dimensionale possiede delle caratteristiche: ● dimension : quindi quante dimensioni (esempio: la matrice ha due dimensioni) ● shape : come sono disposte le celle, ovvero il numero di elementi per ogni dimensione (esempio: matrice 3x4 ovvero 3 righe e 4 colonne) ● axis : ovvero gli assi (axis= 0: accede riga per riga, axis= 1 accede colonna per colonna) accedendo quindi riga per riga vuol dire che naviga il primo elemento di ogni riga, poi il secondo elemento di ogni riga e così via. Come risultato avremo di fatto una colonna. ○ matrice => sum(axis=0), somma per colonna, sum (axis=1) somma per riga ○ 3 dimensioni => sum(axis=0), somma per profondità, sum (axis=1) somma per colonna, sum (axis=2) somma per riga Il metodo arange ci permette invece di creare automaticamente degli array con numeri in un determinato intervallo: esempio v=np.arange(start, stop, step) come se fosse un for Possiamo poi cambiare dinamicamente il formato del nostro vettore con il metodo reshape, dandogli come parametro la nuova struttura. La dimensione rimane uguale, ma la shape cambia. Se il numero di elementi non corrisponde con la nuova shape ci dà errore: esempio m=np.reshape(m, (r,c))

Un altro metodo importante è concatenate, che permette di concatenare insieme più vettori in base all’asse che gli diamo come parametro: esempio: v= np.concatenate((v1,v2)) viene fuori un vettore più lungo con la somma dei due vettori m= np.concatenate((m1,m2), axis=0) aggiunge la matrice sotto m= np.concatenate((m1,m2), axis=1) aggiunge la matrice accanto Anche con i vettori è possibile fare lo slicing, in particolare possiamo fare un doppio slicing: v[sulle righe, sulle colonne] Un ultimo metodo importante è lo split, ovvero un metodo che ci permette di dividere in due vettori o matrici uguali il nostro vettore iniziale, come parametro ha il vettore iniziale e il numero di vettori che ne devono uscire fuori. esempio: v2=np.array_split((v1,2)) splitta il v1 in 2 parti uguali (primo array v2[0], secondo array v2[1])

Libreria MATPLOTLIB

libreria per python che ci permette di fare i grafici di vari tipi: matplotlib import matplotlib.pyplot as plt creare una linea tra i due punti, con il metodo show ci viene mostrato il grafico plt.plot([2,3],[8,9]) a destra le x ed a sinistra le y plt.show() con .xlim() e .ylim() ci fa vedere una scala in base ai valori che mettiamo per marcare i punti si mette un terzo parametro con il carattere che dobbiamo mettere come punto plt.plot(x,y, '')* , oppure marker=’’ per gli altri parametri particolari: linestyle=”dashed” color=”r” rosso spessore: linewidth=”10” invece di scrivere tutte queste cose si può compattare con la soluzione fmt marker|line|color => ‘o:dotted:r’

Sono presenti alcune proprietà per navigare il dataframe, e alcuni metodi utili tra cui: ● .describe() : ci dà tutte la caratteristiche del dataframe a livello numerico e statistico ● .info() : ci dà informazioni generali ● .head() : stampa le prime n righe ● .tail() : stampa le ultime n righe per prendere come Dataframe un file bisogna prima fare l’upload di esso, in un blocco di codice: from google.colab import files files.upload() in un secondo blocco poi lo assegniamo a una variabile dataframe: df=pd.read_csv(“nome del file”) Prima di lavorare un dataframe o un file è necessario che esso venga revisionato dai possibili errori o problemi,come righe duplicate, valori incongruenti, celle vuote, etc… Le anomalie vanno rimosse o corrette prima di lavorarci sopra e avere così dei dataset puliti, i dati non puliti vengono chiamati dati raw, ovvero dati grezzi. Per fare “pulizia” usiamo una serie di metodi: ● eliminazione delle righe che presentano almeno un valore NULL (indice non viene aggiornato): ○ df=df.dropna() ● sostituzione di valori nulli con valori specifici o con la media degli altri valori: ○ media= df["colonna"].mean() #calcolo della media df["colonna"].fillna(media, inplace=True) # sostituzione ● convertire il formato della data per tutte le date della colonna: ○ df[“date”]= pd.to_datetime(df[“date”]) ● sostituzione di un dato semanticamente errato: ○ df.loc[7, "Duration"]= ● creazione di regole ○ for item in df.index: #mi navigo così tutto il dataframe if df.loc[item, “colonna”]>valore: df.loc[item, "colonna"]=valore ● rimuovere righe duplicate: ○ df=df.drop_duplicates(inplace=True) per creare un dataframe che deriva da un altro sfruttiamo il metodo selezione, un po’ come nei database, dove inseriamo le condizioni che si devono verificare df1=df[(df[colonna]codizione) &/| ()] per fare un estrazione dati usiamo la funzione

grupby([(‘colonna’)])robe da fare