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

Informatica per l'economia: python, Appunti di Fondamenti di informatica

Introduzione a python spiegata dal professore Durin nel corso di Informatica per l'economia (corso di laurea in Economia).

Tipologia: Appunti

2022/2023

Caricato il 16/09/2023

Aaaarii
Aaaarii 🇮🇹

4.8

(5)

19 documenti

Anteprima parziale del testo

Scarica Informatica per l'economia: python e più Appunti in PDF di Fondamenti di informatica solo su Docsity! Lezione 1: introduzione, “hello world” e import Colore verde: parole “riservate” di python (istruzione) Colore rosso: variabili di python (es. stringa) # per fare i commenti print stampa, cioè, dà quel risultato • bisogna usare le parentesi tonde • bisogna usare le virgolette (se è una stringa); vanno bene sia “ sia ‘ = uguale, un qualcosa diventa qualcos’altro (è viola per distinguerlo dal nero = assegnazione); in python questo vuol dire definire un oggetto. Si possono ridefinire più volte. • non restituisce niente (hello è ancora nero perché non si sa cosa sia) Se poi si manda hello, restituisce hello, world! Funziona allo stesso modo con il print (si stampa il contenuto di hello): Concetto di oggetto: gli oggetti sono cose che servono e si usano nella programmazione; python è uno dei tipici linguaggi di programmazione ad oggetti. Ci sono idversi tipi di oggetto, per riconoscerli si usa type. type definisce l’oggetto str: stringa float: numero decimale int: numero intero Si può anche usare come una calcolatrice: Il risultato però non viene salvato; hello invece restituisce hello, world! finché non viene chiusa la pagina, perché è scritto in memoria. Si può anche raddoppiare (restituisce la stringa scritta due volte): Si vede invece se si definisce hello come 2: ls restituisce le cartelle nel proprio directory. import prende il contenuto id qualcosa che esterno e lo fa diventare parte dello spazio su cui si sta lavorando. Fatto usando anche Spyder (si è creato il file hello1 su Spyder e si è importato). Se si stampa hello restituisce 2 (perché prima si era definito hello = 2), anche se nel file importato si era ridefinito hello come “Hello, world!”. Se si vuole stampare hello del file importato si deve scrivere hello1.hello: Tutti gli oggetti dentro al file importato, quindi, sono accessibili. Il risultato è scritto due volte perché c’è sia l’uscita sia il print. Allora si “toglie” il print mettendo # davanti: In questo modo, però, il risultato non si può riutilizzare; il modo per intercettare l’uscita è metterlo in una nuova variabile, ad esempio: Ora si calcola l’area di un cerchio di raggio r, che si definisce area_cerchio: Ora si definisce r come 1 e l’area del cerchio in funzione di r come a: Si vede che le variabili definite all’interno della funzione (raggio, area) sono dei nomi interni alla funzione; quando si chiama la funzione si manda un altro nome, non si manda r ma il contenuto di r, che è 1, e python lo salva dentro raggio, poi lo usa, calcola area e restituisce area, che viene chiamata a. “”” stringa multilinea → docstring: è una stringa in cui spiega cosa si sta facendo; se si manda area_cerchio con il punto interrogativo, restituisce la stringa: Lezione 3: validazione di una carta di credito Formula di Luhn (per vedere se una carta di credito è vera o falsa): 1. Togli l'ultima cifra, è quella che si vuole controllare 2. Inverti il numero 3. Moltiplica tutti i numeri in posizione dispari per 2 e sottrai 9 a tutti i numeri più alti di 9 4. Somma tutti i numeri 5. Il carattere di controllo (l'ultimo numero) è quello che si deve aggiungere per ottenere un multiplo di 10 (Modulo 10) Si procede a passaggi; si prende come esempio la seguente carta = VISA: 4916505686387690 Per ottenere l’ultima cifra di un qualsiasi numero, si ricorre al resto: %10 Ad esempio, se si vuole sapere l’ultima cifra di 25: 25 10 = 2 con il resto di 5, che è proprio l’ultima cifra. In generale, per vedere la parte intera di una divisione si usa // mentre per il resto si usa %; in questo caso: Si assegna alla carta il nome di visa e si ottiene: infatti, 0 è l’ultima cifra del numero della carta. Si assegna a questo risultato il nome di cc (come carattere controllo) per comodità (serve poi alla fine). Si sa, quindi, qual è l’ultima cifra, ora bisogna toglierla: per fare ciò bisogna mandare l’intero della carta, si può fare sia utilizzando int sia utilizzando //; per comodità, si assegna al risultato il nome n. Ora bisogna invertire il numero ottenuto, cioè n. Matematicamente è molto complicato, quindi, l’idea è trasformare il numero in una stringa (a cui si assegna il nome ns), che è una sequenza numerabile. Infatti, si può, ad esempio chiedere la lunghezza della stringa ottenuta con len (per i numeri non si può fare). 1 2 Visto che si tratta di una sequenza, si devono usare le parentesi quadre [ ] per riferirsi agli elementi; ad esempio, se si chiede l’elemento che sta nella posizione 1 della stringa si ottiene: Questo perché gli indici che indicano la posizione partono da 0! Si possono anche chiedere degli intervalli della stringa (slicing) se si usano i due punti : Si vede che non c’è l’elemento nella posizione 2: nello slicing l’ultima posizione non è compresa! Si può anche scrivere omettendo il primo numero (per prendere tutti i numeri si mettono solo i due punti): Se si mettono degli altri due punti dopo l’intervallo scelto, si fa un ‘passo’, cioè si dice di prendere gli elementi ogni tot; ad esempio: Nel primo caso si sta dicendo di prendere gli elementi fino alla posizione 2 (non compresa) e di prendere solo gli elementi ogni due. Nel secondo caso si sta dicendo di prendere gli elementi fino alla posizione 15 e di prendere solo gli elementi ogni due. I ‘passo’ negativi indicano di prendere le cifre partendo dal fondo invece che dall’inizio. Per invertire la stringa, quindi, si mettono solo i due punti (perché si prendono tutti i numeri) e si usa come passo 1 (che prende tutte le cifre) in negativo (a cui si assegna il nome di nsinv, per indicare che è ns ma invertito): Lezione 4: le stringhe e le liste Ripasso cose viste delle stringhe (len e parentesi quadre): Per lo slicing, si può anche vedere come prendere, ad esempio, le ultime 4 lettere e come prendere tutte le lettere tranne le ultime 4 (si usano i numeri negativi): Si vuole mettere maiuscola la prima lettera. Scrivendo s, che rappresenta la stringa, con il punto e cliccando il tasto TAB si aprono tutte le funzioni che si possono fare con le stringhe. In questo caso interessa capitalize. Ricordarsi che bisogna sempre scriverlo con le parentesi. Per far diventare tutte le lettere maiuscole, invece, si usa upper: Si prende un altro esempio, cioè q = “Anna”; si vuole scrivere una riga per vedere che “Anna” è una parola palindroma; allora, si fa un ugualianza con ==, cioè che q è uguale al suo inverso. Il problema è che l’inverso di q è dato da ‘annA’: Per risolverlo, si introduce lower: all’inverso di q si aggiunge lower che rende tutte le lettere minuscole e capitalize che rende la prima maiuscola; così l’uguaglianza è vera: Per renderla però generale, cioè applicabile a diversi casi, con diverse lettere, si utilizzano upper o lower (così si rendono a priori tutte le lettere uguali): Si usa un’altra frase palindroma ‘i topi non avevano nipoti’ e si usa lo stesso metodo: in questo caso dà falso perché python considera anche gli spazi. Bisogna quindi usare una funzione per togliere gli spazi: si usa replace (si rimpiazzano gli spazi con niente). Si crea allora una funzione def (al posto di lower si poteva mettere anche upper, ma non capitalize). Si riprende la stringa s = io non sono solo anche quando sono solo. Si vuole sapere, ad esempio, se ‘solo’ è all’interno della stringa s. Si usa in. Si vogliono contare le parole in s: si usa split che separa tutte le parole che compongono la stringa. Se non si passa niente nelle parentesi, come separatore usa di default il niente (cioè lo spazio). Se, invece, all’interno delle parentesi si mette qualcosa, python userà quel qualcosa come separatore e lo toglierà dalla lista; si mette ad esempio s: Si rinomina la divisione iniziale in jova e se si verifica il tipo di variabile si vede che è una lista: A questo punto, si vogliono contare gli elementi (parole) all’interno della lista ‘jova’, si usa len (perché si comporta come una stringa normale): Nella lista, però, è possibile cambiare un elemento (al contrario delle stringhe normali che sono immutabili); ad esempio, si può cambiare la prima parola ‘io’ minuscolo in ‘Io’ maiuscolo: Ora si introducono i cicli for per le liste: Partendo da questo, si vuole avere come out invece delle singole parole le singole lettere che compongono le parole: si fanno due cicli di for. … Lezione 5: i dizionari e le tuple Si riprende la funzione per la validazione di una carta di credito (si cambia solo la prima somma, in cui non si mette = 0 ma = cc, così non bisogna più fare questo passaggio alla fine). Ci si sofferma sulla variabile ‘cards’: con le parentesi graffe si indicano i dizionari { } Infatti, se si usa type: Un dizionario è semplicemente un elenco di informazioni suddivisi per chiavi e valori: il primo pezzo dei dizionari si chiamano chiavi, quello dopo i due punti sono i valori. Per usare un dizionario: se si manda la chiave, restituisce il valore. Si vede che cards contiene 7 oggetti diversi (7 chiavi e 7 valori): si suppone di voler applicare la funzione di validazione di una carta a tutti e 7 i valori; quindi, si fa un ciclo per verificare tutte le carte insieme. Premessa: si fa un ciclo for e si stampano le carte, restituisce le chiavi; quindi, pur essendo un dizionario fatto dalla coppia chiavi-valori, restituisce solo le chiavi. Per chiamare i valori si fa: Quindi il primo print stampa sempre le chiavi, il secondo stampa i valori. Ora si vuole chiamare la funzione di verifica is_validazione_carta nel ciclo: Si crea un altro dizionario: Si vede cosa succede facendo il dizionario di ‘a’ per il dizionario di ‘b’: viene ‘4444’. Prende i valori: ha preso ‘4’ come stringa di b e l’ha moltiplicato per 4 (come numero) di a, quindi ha ripetuto il 4 come stringa per 4 volte. Ora si prende il testo di una canzone si copia come testo: … Si vuole contare quante volte dice ‘solo’: si “splitta” il testo, così ogni parola è a capo. Per contare le parole si usa un dizionario (a cui si dà il nome di conta_parole), dove la chiave è la parola e il valore quante volte compare: si inizializza il dizionario vuoto e si usa un ciclo for; è complesso perché ci sono parole che compaiono più volte; quindi, se è una nuova parola si aggiunge, ma se è già capitata, bisogna cambiare il valore. Si usano, dunque, if e else per vedere se ‘parola’ è nelle chiavi del dizionario conta_parole: Il problema è che differenza parole uguali per minuscole, maiuscole, virgole ecc. (ad esempio divide ‘Scivoli’, ‘scivoli’ e ‘scivoli,’); quindi, si utilizza lower (o upper) e replace per rimpiazzare la virgola con niente: Le chiavi sono ordinate in ordine di apparizione, ma non è detto: il dizionario ordina le chiavi senza nessuna regola, perché di fatto non c’è bisogno di un ordine. get: se parola esiste restituisci il valore che hai e aggiungi 1, se non esiste dagli il valore di 0 + 1 (rimpiazza 4 righe in una riga sola): … … Lezione 6: numpy Si inizia importando numpy con np. Si immagina di avere due liste a e b, si vogliono sommare elemento per elemento per ottenere un vettore. Se si sommano solo a + b, si ottiene solo una lista con tutti gli elementi delle liste: Una cosa che si potrebbe fare è fare un ciclo for i in range (i sta per indice); si mette come lunghezza del range, ad esempio, la lunghezza di a (ma si poteva mettere anche quella di b) e prima del ciclo si apre una lista vuota: Questo metodo però non si fa, perché si costruiscono degli oggetti colonna (array) che permettono di fare questa operazione in una riga sola: si tratta di trasformare a e b come array di numpy. La particolarità di python è che è possibile su oggetti diversi definire le operazioni più comuni; ad esempio, quando si fa la somma di due liste si concatenano. Qui, per oggetti array, che sono colonne, l’idea di sommare è quella di sommare elemento per elemento. In questo modo, vengono fatte tutte le operazioni matematiche elemento per elemento. .dtype : senza parentesi, indica che tipo di dati sono. List comprehension: è un modo sintetico di scrivere una lista (utilizza for i in range dentro le parentesi quadre). Si crea una lista dei primi 10 quadrati, si trasforma direttamente in un array e gli si dà il nome di q: .shape : crea una tupla con un solo elemento, indica che c’è una dimensione lunga 10. .reshape( ) : permette di ridimensionare la lista. Ad esempio, si vuole ridimensionare q in 5 righe e 2 colonne: Gli si dà il nome di q2 e si vede shape, che indica appunto le dimensioni e la lunghezza: Quando si fa un ciclo su un qualcosa bidimensionale, si fa di fatto un ciclo sulle righe. .arange( ) = prende i numeri in un intervallo (l’ultimo numero non è compreso); si possono anche mettere dei ‘salti’. Per comprendere anche l’ultimo numero, si usa .linspace, la differenza però è che l’ultimo numero non indica ‘quanti numeri saltare’ ma quanti numeri stampare: Si suppone di volere solo i numeri più grandi di 4 in a: restituisce vero o falso. Si seleziona invece di voler prendere solo i valori che rispettano il fatto di essere > 4: Si possono calcolare ad esempio la media, il massimo, la standard deviation ecc. Si possono applicare anche tutte le regole dello slicing: Inoltre, essendo che le liste sono mutabili (a differenza delle stringhe e delle tuple) si possono anche cambiare degli elementi: Si può anche togliere l’ultimo elemento o invertire proprio la lista: Come generare numeri random: si usa .random; si deve inizializzare in qualche modo un meccanismo interno che generi dei dati. Si crea un generatore rng: random generator; si manda e si salva in memoria. Si fa una distribuzione normale per 10 valori con media 2 e sigma 0.5: Si importa un’altra libreria matematica: matplotlib. Lezione 7: introduzione a Pandas Si importano le librerie; si aggiunge anche un %matplotlib inline e si importa anche yahoo finance dopo averlo installato: Si installa yahoo finance mandando la seguente frase: Si scarica da yahoo finance la conversione di valuta euro dollari (si usa la nomenclatura ‘ticker’), mettendo come data di inzio il 1° gennaio 2002 e come data di fine il 26 aprile 2022: Si vede con type che tipo di variabile è eurusd; non si è usato pandas, ma yahoo finance scarica già di default i dati nel seguente formato: Quindi si ha un oggetto ‘data frame’ di pandas. Per vedere i primi elementi del dataset si usa .head: Riporta l’apertura, il valore massimo, il valore minimo, la chiusura, una chiusura “aggiustata” e il volume. Ci sono delle date a sinistra e delle colonne con un loro titolo: questa è la struttura di un data frame. La prima colonna in grassetto prende il nome di indice (index): Risponde dicendo che è un indice fatto da date, composto da 4772 dati; pur avendo messo come data di inizio il 1° gennaio 2002, i primi dati si hanno il 1° dicembre 2003 (si vede anche che salta i giorni festivi). Si possono chiamare anche le colonne (anch’esse sono un tipo di oggetto che viene chiamato indice): Per chiamare le singole colonne si utilizza il loro nome (diventano metodi dell’oggetto), ad esempio: Per le colonne che hanno però uno spazio all’interno, bisogna usare le parentesi quadre: Si può usare analogamente a .head ma al contrario .tail, per vedere gli ultimi dati: Con .size dà come risultato il numero di righe per il numero di colonne Con .shape invece dà come risultato una tupla con il numero di righe e il numero di colonne: Se si manda la prima data (indice 0), restituisce una cosa chiamata ‘timestamp’, Si possono anche fare delle operazioni, ad esempio la data finale meno la data iniziale e dà i giorni tra queste due date: Se si manda .info restituisce una serie di informazioni sui dati (il tipo e il numero): È utile soprattutto per excel, in cui magari ci sono dati formattati in modo non molto chiaro. Un altro comando interessante è .describe : Dove dice, ad esempio, il valore medio, la deviazione standard, i percentili, minimo, massimo. Si estrae solo la colonna ‘Close’ e si vede che cos’è con type: Ora per semplificare, si considera solo più la colonna “Close” che si rinomina proprio come data: se si chiede cos’è .columns a questo punto restituisce indice. Ora che si è semplificato si può plottare: La cosa bella di pandas è che anche se ci sono dei dati magari non disponibili, fa comunque i calcoli; ad esempio si calcola la media del cambio valuta euro-franco: Come fare a pulire i dati? Si suppone di non volere i NaN (‘not a number’). Si prende solo la colonna di euro-franchi (che è una serie); si usa .dropna e restituisce i dati “puliti”: .dropna non cancella il singolo dato, ma cancella la riga intera se contiene anche solo un NaN. Si dà il nome “cambi” ai dati puliti. Si vede che anche in questo caso si possono avere risposte booleane, se ad esempio si chiede se i dati sono > 0.8 restituisce un data frame di booleani: Si possono anche chiedere solo i dati maggiori di 0.8 e plottare il risultato: Lezione 8: Pandas e le serie finanziarie Si importano sempre numpy, pandas e yahoo finance. Si mette su una riga separata from datetime import date (per assunzione, non si spiega). Si usano come esempio della spiegazione le aziende di giocattoli: Mattel, GameStop e Nintendo. Come date si parte dal 25 dicembre 2020 alla giornata di oggi. try : prova a far qualcosa (se poi dà errore “lo risolve”) Si fa un ciclo for chiedendo informazioni su ognuna delle tre compagnie, t è un dizionario, il print richiede una nomenclatura particolare: s sta per stringa, “%s: %s” indica come stampare il risultato, cioè qualcosa : qualcos’altro, il % in viola indica che dopo esso si scrivono proprio i risultati da stampare, in questo caso per primo “ticker” (MAT, GME, NTDOY) e dopo i due punti mettere un’informazione, che in questo caso corrisponde al nome delle aziende. except : se non si trova quello che si sta cercando, invece di stampare errore, stampa un’alternativa Visto che interessano i valori di chiusura (“Close”), si considerano solo quelli; si guardano le prime 5 righe (head) e si plottano tutti i dati in un grafico: Si plotta: Si manda rolling: prende “pezzi” lunghi il numero all’interno delle parentesi. In questo caso, prende la media di ogni 42 giorni: Questa si chiama “short”, perché guarda statistiche medie su tempi corti. Si definisce “long” con 252 giorni: Lezione 9: caricare Excel e Groupby Si scaricano due file di dati di Excel e si copiano in una nuova cartella “data” nella cartella di python: Si importano pandas e os, che vuol dire “operating system”. Si rinominano i due file per comodità. L’estensione .xlsx indica il foglio di lavoro di excel, mentre .csv sta per “Comma Separated Values” e indica file di testo semplici che contengono elenchi di dati. Ora si usa os.path.join, che è un’etichetta “percorso”, per vedere se nella sottocartella “data” si trovano i due file che si sono rinominati: Ora bisogna prendere i dati all’interno dei file; per leggere un foglio di excel si usa pd.read_excel: A questo punto, sono importati i dati, si possono vedere ad esempio le prime 5 righe con head: Praticamente è un elenco di fatture con il numero, la data, il nome dei clienti, il nome dei referenti ecc.; se si vede la lunghezza, sono 70 valori: Solo che il foglio Excel è composto da 3 spreadsheets, adesso si è importato solo il primo foglio che concerne il 1° quadrimestre (e sono appunto 70 righe). Bisogna importare anche gli altri. Si ridefinisce “data” come un data frame vuoto, al cui interno si mettono i 3 spreadsheets; poi si inizia un ciclo for: i 3 spreadsheets si chiamano “I quad”, “II quad” e “III quad”, quindi per indicarli si definisce una stringa s. Dopodiché, si prendono di nuovo i dati del file con pd.read_excel, ma si aggiungono anche gli i spreadsheets. Alla fine si aggiungono tutti nel data frame “data” con .concat (richiede una lista, quindi le quadre): Si verifica la lunghezza e dà 234: Ora, però, bisogna anche caricare il file dei referenti. Si usa pd.read_csv Si tratta di un data frame; si vuole però che l’indice siano i nomi dei referenti: il passaggio è lo stesso, ma nella parentesi tonda si aggiunge index_clo=0, cioè gli si sta dicendo di prendere come indice la colonna che sta nella prima posizione (parte da 0), ovvero i referenti: Quando si ha un indice e una colonna sola, questo si chiama serie. Ma in questo caso, anche se dopo averlo cambiato, ci sono effettivamente solo un indice e una colonna, se si chiede cos’è con type, rimanda comunque data frame. Lezione 10: groupby, unstack, accessori Si riprende la lezione 9; oltre a pandas e os si importa anche numpy. Si rinomina la somma degli incassi per gruppo come “inc_gruppi”: Ora si vuole fare la somma di quanto è stato incassato sia usando il nome del referente sia usando il nome del gruppo; quindi, si vogliono fare dei raggruppamenti con due variabili. È una serie con un multi index (indice multiplo). La cosa interessante è che si può fare la divisione tra “Inc_ref_gruppo” e “inc_gruppi” anche se hanno un numero di elementi diversi (14 e 3); questo perché python riconosce in base all’indice cosa deve essere diviso per cosa. Si calcola ad esempio la percentuale degli incassi dei referenti in base ai propri gruppi: Si rinomina per comodità questa operazione come inc_ref_gruppo_per Si plotta un grafico a torte (la somma totale sarà 300 e non 100): Per fare 3 grafici separati, con questo tipo di serie non si può fare, bisogna trasformarla in un data frame. Per fare ciò si usa .unstack, che mette da una parte i gruppi e dall’altra i referenti, per fare dei grafici che hanno senso, però, bisogna mettere nelle righe i referenti e nelle colonne i gruppi, per questo tra parentesi bisogna mettere level=0 (al contrario o non si mette niente o level=1). Dopodiché, si possono plottare: (figsize serve solo a cambiare la dimensione dei grafici) Si vede che plottando con righe e colonne invertite, vengono dei grafici che non hanno molto senso: Ora si vuole calcolare quanto tempo ci va a pagare una fattura; quindi, quanto tempo è passato dall’ordinativo alla fattura. Si suppone di voler prendere la data ordinativo della prima riga, per fare ciò si deve usare loc; il problema è che loc restituisce la prima riga di ogni spreadsheet, perché ogni pagina inizia con un indice 0. Per avere la prima riga in generale tenendo conto di tutti e 3 i fogli, bisogna usare iloc. Per calcolare la differenza tra questa data e “Data fattura”, non basta fare la differenza, perché sono delle stringhe, quindi dà errore. Bisogna fare un’operazione un po’ complicata: si importano di nuovo i dati con pd.read_excel ma si usa dentro le parentesi parse_dates=False che analizza le date, cioè se alcune colonne sembrano delle date, le legge come date invece che come stringhe. Si rinomina la prima data; se si usa .day_name restituisce il giorno della settimana di quel giorno: .quarter : indica il quartile dell’anno in cui si trova una data .year : indica l’anno di una data .month : indica il mese di una data .day : indica il giorno di una data .isocalendar : restituisce una tupla con l’anno, il numero della settimana dell’anno e il numero del giorno della settimana di una data Si rinomina la differenza di giorni come “ritardo”. Si vuole vedere se c’è una correlazione tra il numero degli utenti e la temperatura Intanto si vede l’andamento degli utenti nei due danni di dati, quindi si fa un grafico. Si vuole vedere lo stesso grafico non per giorni, ma facendo la media mensile: marker=”o” aggiunge dei marcatori per ogni media Essendo, però, che si prendono in considerazione due anni, bisogna raggruppare due variabili (mese e anno): Si vede un grafico per la temperatura: Ora si vede se c’è una relazione tra la temperatura e il numero di utenti: si usa un grafico di dispersione. Si usa statsmodels (sm.) per le regressioni lineari: si creano una variabile y (utenti) e una variabile x (utenti). OLS = “Ordinary Least Squares”, metodo dei minimi quadrati; la curva migliore è data da OLS_model.fit R-squared: è una misura statistica di quanto bene la linea di regressione approssima i dati effettivi. In questo caso è molto basso (0.391). Per sapere data la temperatura quanti utenti ci sono in media, si raggruppa la temperatura con groupby e si calcola la media degli utenti: Si vede che è all’incirca lineare (ci sono comunque delle fluttuazioni) fino ad un certo punto, quando fa molto caldo, invece, cala. Si rinominano i risultati degli utenti medi per ogni temperatura, dopodiché si usa di nuovo il metodo dei minimi quadrati, ma come variabile y si prende la nuova variabile “utentiMedi” e come variabile x la temperatura, che però si prende dall’indice della serie “utentiMedi”: In questo caso l’R-squared è molto meglio. Sistemi alternativi a matplotlib (per fare grafici): Scritta in javascript. Esempio Esempio Esempi di domande d’esame Sia: Scegli un’alternativa: o list o int o tuple o int32 Sia Scegli un’alternativa: o numpy.array o int32 o list o tuple Sia Scegli un’alternativa: o [1,1],[1,1] o [2,2] o [1,1,1,1] o 2,2 Sia Quanto vale c? o 2 o [0,2] o “0,2” o 0,2 Quale comando trasforma o w = w.upper() o w = w.lower() o w = w.LOWER() o w = w.capitalize() in ? Sia Scegli un’alternativa: o ‘420’ o 2 o 3 o 6 Sia Scegli un’alternativa: o tuple o dict o int o str Il Presidente Mattarella è in carica dal 3 febbraio 2015. La sua presidenza ha superato i 2500 giorni? Scegli un’alternativa: Si vuole calcolare il logaritmo naturale di un numero vicino a 1 usando l’espansione in serie: Quale codice ottiene il corretto risultato considerando i 5 termini mostrati nella espansione in serie?
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved