Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
L'interpolazione è un metodo per generare punti tra punti dati. In questo tutorial, mostrerò come utilizzare l'interpolazione per gestire i dati mancanti in Python. Puoi guardare il video completo di questo tutorial in fondo a questo blog.
In Python, l'interpolazione è una tecnica utilizzata principalmente per imputare valori mancanti nel frame o nella serie di dati durante la pre-elaborazione dei dati. Dimostrerò come utilizzare questo metodo per stimare i punti dati mancanti nei dati utilizzando Python in LuckyTemplates.
Se guardiamo i nostri dati originali qui sotto che sono rappresentati nel grafico in alto, possiamo vedere che ci sono molti buchi o dati mancanti che non possiamo rappresentare graficamente perché non c'è niente lì. Ma nel grafico in basso, possiamo vedere che abbiamo fatto delle stime per capire come potrebbero essere i dati. I dati effettivi sono rappresentati in azzurro, mentre i dati interpolati sono in blu scuro.
Ci sono un paio di diversi tipi di stima che faremo. Faremo un'interpolazione lineare, un'interpolazione più vicina e poi un'interpolazione temporale ponderata. Ognuno di questi ci darà risultati leggermente diversi.
L'esempio sopra utilizza l'interpolazione del tempo ponderata, che sembra quasi uguale all'interpolazione lineare, con l'eccezione che questa è ponderata in base ai giorni. Linear ha stimato i dati in base alla pendenza tra questi due punti dati. L'interpolazione più vicina ha un tipo di stima più piatto, come puoi vedere di seguito, in cui abbiamo esaminato il valore più vicino e siamo stati in grado di stimare ciò che esiste tra questi due.
Quindi, passiamo a un taccuino Jupyter e portiamolo dentro.
Sommario
Come utilizzare l'interpolazione nella gestione dei dati mancanti in Python
Potresti usare lo Script Editor per scrivere tutto, ma è più facile. Ottieni più feedback nel tuo taccuino Jupyter. Quindi, documentiamo cosa stiamo facendo. Quando copiamo e incolliamo questo nel nostro Python Script Editor, sarà molto pulito e chiaro.
Importiamo le librerie che vogliamo e importeremo i Panda e li salveremo come variabile PD. Importeremo Numpy e lo salveremo come variabile NP. Pandas è una libreria per la manipolazione dei dati, mentre Numpy ci consente anche di manipolare i dati e ci fornisce un po' di algebra lineare.
Vogliamo inserire il nostro set di dati e lo salveremo come variabile df . E useremo solo la variabile Pandas ( pd ) e useremo la funzione read.csv . Quindi, copieremo e incolleremo dove esiste quel file sul nostro PC. Il mio è nella mia directory di lavoro, quindi tutto quello che devo fare è scrivere machines.csv e incapsularlo tra parentesi.
E diamo un'occhiata al nostro set di dati semplicemente usando la variabile df. Puoi vedere che va dal 1° del 2022 fino al 25. Sono giorni consecutivi fino al 15, e poi mancano quattro giorni il 19, e poi mancano tre giorni quando arriviamo al 22, e due giorni mancano il 25.
I giorni saltati non sono dati mancanti. Questi non sono solo dati nel nostro set di dati. Ciò di cui ci occuperemo sono i dati mancanti, che vedete rappresentati con questi NaN o nessun valore.
Ora che abbiamo il nostro set di dati, usiamo i nostri diversi tipi di interpretazione e salviamoli come colonne diverse. Possiamo vedere che abbiamo object , che è rappresentato da un testo, e abbiamo anche un float .
Isolerò la colonna Data utilizzando la notazione tra parentesi. Quindi, userò uguali per assegnare questo. Userò la variabile pd e poi userò solo la funzione to_datetime. E poi, chiuderò quella funzione con la parentesi e aggiungerò la colonna Data.
Possiamo vedere che ora abbiamo la data come tipo di dati corretto.
Abbiamo un indice qui, che è indicato dai numeri da 1 a 18. Quando lo facciamo Lineare, utilizzerà questi numeri per creare una connessione lineare tra i punti dati esistenti. Ma vogliamo anche essere in grado di utilizzare un'interpolazione ponderata nel tempo, che guardi l'ora e ci fornisca i risultati in base ai giorni effettivi. Vogliamo impostare la colonna Data come indice, quindi possiamo utilizzarla.
Userò la mia variabile data frame (df) e farò set_index. Dobbiamo passare un parametro chiamato inplace per assicurarci che sia passato in modo permanente. Quindi, userò inplace uguale a vero, e poi premerò shift e invio. E con questo, puoi vedere che l'indice numerico è scomparso e abbiamo un indice Datetime.
Ora possiamo iniziare a costruire quelle colonne che vogliamo. Costruiamo una colonna in cui stiamo interpolando il punto dati più vicino, che riempirà questi valori mancanti con il valore più vicino. Vogliamo creare una colonna chiamata users_nearest e vogliamo assegnarla a una colonna Users .
Vogliamo creare una colonna chiamata user_nearest e vogliamo assegnarla a una colonna utente. E ora che abbiamo isolato quella colonna, possiamo usare la funzione di interpolazione e possiamo premere MAIUSC-TAB per vedere quali parametri prende questa funzione. Ci sono molti diversi tipi di metodi.
Puoi vedere che l'impostazione predefinita è lineare e se vuoi che veda tutti i diversi metodi, ci sono informazioni all'interno di questo. Puoi aprirlo fino in fondo e ci sono molte informazioni qui che ti daranno molte informazioni. Ma è sempre meglio andare sul sito di Pandas e vedere quali sono tutti i diversi tipi di interpolazioni.
Ora passeremo il metodo che vogliamo e useremo il metodo Nearest Interpolation. Tutto quello che dobbiamo fare è eseguirlo e puoi vedere che viene creata una colonna. Se guardiamo a quella particolare linea, possiamo vederlo come un valore mancante. E puoi vedere che è stato interpolato dove ha preso il valore più vicino e l'ha aggiunto qui. Come puoi vedere, non abbiamo più valori mancanti per quella particolare riga.
Ora copiamo questo due volte e cambiamo il nome di queste colonne in user_linear e user_time . Cambieremo anche i metodi in modo che corrispondano alle nostre intestazioni. Possiamo spostare ed entrare e puoi vedere che abbiamo creato tre colonne basate su diversi tipi di metodi di interpolazione.
Successivamente, voglio creare una colonna più particolare che ci permetta di indicare quali di queste sono vuote, come un flag nei nostri dati. Useremo Numpy per questo.
Quindi, creeremo solo una nuova colonna chiamata df , e poi la chiameremo flag. Lo assegneremo con quel segno di uguale. Quindi, useremo np , che è la nostra variabile Numpy. E poi, useremo la funzione where , che è una funzione condizionale. Impostiamo la condizione e poi otteniamo un esempio per vero e falso. Usiamo double equals, che è uguale in Python. Quando è vero, vogliamo dire Missing Data . L'altra opzione sarà Data .
Possiamo usare quel flag nel nostro oggetto visivo. Una volta che siamo nel tuo taccuino, passa a trasformare e premi esegui lo script Python. Ora ci sono un paio di passaggi diversi. Dobbiamo farlo funzionare all'interno dell'ambiente LuckyTemplates .
Abbiamo tutti i nostri codici qui e dobbiamo aggiungere qualche altro passaggio. Uno, quando abbiamo a che fare con data-ora, dobbiamo aggiungere un parametro di errore che dice, se abbiamo errori, puoi forzare o tentare di cambiarlo. Quindi, inserirò qui gli errori equal , quindi la parentesi coerce . Successivamente, dobbiamo riassegnare la variabile del set di dati come df.
Quando facciamo clic su OKAY, otterremo un altro errore e questo è ciò che dobbiamo fare per risolvere il problema. Se andiamo oltre i nostri passaggi, non dobbiamo formattare la nostra data. Lasceremo che Python lavori con le date perché le date sono univoche per ogni piattaforma. La prima cosa che dobbiamo fare è sbarazzarci di Changed Type .
Non abbiamo la colonna Data perché la data è l'indice. Quindi, torniamo al nostro script Python e reimpostiamo semplicemente il nostro indice, df.reset_index . Diciamo che vogliamo reimpostarlo sulla colonna Date bypass in quella parentesi, e quindi vogliamo fare inplace = true .
E ora abbiamo la data e tutti gli altri tipi di dati sono completi.
Se lo inseriamo in un oggetto visivo, ecco come appare in tre diversi metodi di interpolazione nella gestione dei dati mancanti in Python.
Tassi di cambio in LuckyTemplates: gestione dei dati mancanti
Script Python nei report sui dati di LuckyTemplates
Come caricare set di dati di esempio in Python
Conclusione
In questo tutorial hai imparato tre metodi di interpolazione nella gestione dei dati mancanti in Python . Abbiamo discusso i metodi Linear, Nearest e Weighted Time Interpolation.
Spero che tu lo trovi utile e lo applichi nel tuo lavoro. Puoi guardare il tutorial video completo qui sotto per maggiori dettagli e controllare i link sottostanti per ulteriori contenuti correlati sulla gestione dei dati mancanti in Python.
Ti auguro il meglio!
Gaelim
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.
Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere