Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Pandas è una libreria Python ampiamente utilizzata per la manipolazione e l'analisi dei dati. Una funzionalità essenziale che i panda possono fornirti è la possibilità di modificare la struttura di un set di dati. Nello specifico, l'eliminazione degli indici in un DataFrame è un'operazione cruciale quando si lavora con i set di dati. Ti consente di rimuovere righe o colonne indesiderate dai dati.
Per eliminare un indice con i panda, puoi utilizzare i metodi .drop() e .reset_index(). Il metodo .drop() consente di rimuovere righe o colonne specifiche. D'altra parte, il metodo .reset_index() consente di rimuovere l'indice e reimpostarlo sul RangeIndex predefinito.
In questo articolo, discuteremo l'uso di questi metodi per eliminare gli indici nei dataframe panda. Esamineremo vari esempi per dimostrare come manipolare in modo efficace la struttura di un set di dati per soddisfare le diverse esigenze analitiche. Attraverso questi esempi, acquisirai una comprensione più approfondita di come la libreria panda può essere utilizzata per la manipolazione dei dati.
Entriamo in esso!
Sommario
Comprensione dell'indice di caduta dei panda
Prima di immergerci nell'abbassamento dell'indice con i panda, è molto importante che tu abbia una comprensione di cosa sia un DataFrame dei panda. Inoltre, dovresti anche avere familiarità con il concetto di indici e colonne in un DataFrame panda.
In questa sezione tratteremo le basi di un DataFrame, indice e colonne dei panda. Vedremo quindi un esempio di eliminazione di un indice utilizzando i panda.
1. Che cos'è un dataframe Pandas?
Pandas è una libreria Python open source che fornisce strumenti di manipolazione e analisi dei dati ad alte prestazioni. Una delle sue strutture dati chiave è il DataFrame .
Un DataFrame panda è una struttura dati bidimensionale con assi etichettati (righe e colonne). Puoi pensare a un DataFrame come a una rappresentazione di un oggetto Pythonic di una tabella SQL o di un foglio di calcolo Excel.
Quello che segue è un tipico DataFrame dei panda:
2. Cosa sono gli indici e le colonne?
In un DataFrame panda, l' indice funge da "indirizzo" per i punti dati. Fornisce un mezzo per accedere e organizzare i dati attraverso il DataFrame. Potrebbe essere la sequenza di numeri interi predefinita assegnata dai panda o un indice personalizzato definito dall'utente.
Le colonne sono le variabili che ospitano diversi tipi di dati nel DataFrame. Ogni colonna è essenzialmente una serie di dati. Può contenere diversi tipi di dati come numeri interi, float o stringhe. L'etichetta della colonna, comunemente indicata come nome della colonna, identifica questa serie di dati.
In un DataFrame panda, la manipolazione dei dati spesso comporta l'utilizzo delle etichette di riga (indici) o delle etichette di colonna.
Alcune operazioni comuni che puoi eseguire con un DataFrame multiindice includono la selezione, la ridenominazione e l'eliminazione di righe o colonne in base alle relative etichette.
3. Come eliminare la colonna dell'indice con i panda
Nei panda, puoi utilizzare il metodo DataFrame reset_index() per eliminare e reimpostare l'indice.
Supponiamo di avere il seguente DataFrame:
Per eliminare la colonna dell'indice, possiamo utilizzare il seguente codice:
df.reset_index(drop=True)
Dopo aver eseguito questo codice, otterrai l'esempio seguente:
Nell'output è possibile vedere che l'indice viene eliminato e sostituito con i valori dell'indice originale.
Puoi anche utilizzare il metodo drop nei panda per rimuovere etichette specificate da righe o colonne.
La sintassi per questo metodo è:
DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
Di seguito sono riportati i parametri chiave del metodo drop :
etichette : le etichette da rimuovere. Può essere righe o colonne a seconda del parametro dell'asse .
axis : Determina se eliminare da righe ( 0 o 'index' ) o colonne ( 1 o 'columns' ).
index : un'alternativa alla specifica axis=0 . Consente di indicare le etichette di riga da rimuovere.
colonne : un'alternativa alla specifica axis=1 . Consente di indicare le etichette delle colonne da rimuovere.
inplace : se impostato su True , l'operazione verrà eseguita sul posto, il che significa che il DataFrame originale verrà modificato. Se False (impostazione predefinita), verrà restituito un nuovo DataFrame con le etichette specificate rimosse.
errori : Controlla come gestire le etichette mancanti. Se 'raise' (impostazione predefinita), verrà generato un errore quando le etichette non vengono trovate. Se 'coerce' , le etichette mancanti verranno silenziosamente ignorate.
Supponiamo di avere il seguente DataFrame:
Vorremmo eliminare la riga con indice 1. Per fare ciò utilizzando il metodo drop, puoi scrivere il seguente codice, iniziando con import pandas:
import pandas as pd
# Drop row with index 1
df.drop(1, axis=0)
L' argomento axis=0 della funzione drop dice all'interprete che stiamo eseguendo un'operazione per riga. Il secondo argomento 1 è l'indice di riga. Dice all'interprete di eliminare la riga con indice 1.
Dopo l'operazione precedente, otteniamo il seguente DataFrame:
Ora, diciamo che vorremmo eliminare la colonna con Age come intestazione di colonna dal nostro DataFrame. Per ottenere ciò, possiamo scrivere il seguente codice:
# Drop column 'Age'
df.drop('Age', axis=1)
L'argomento axis=1 dice all'interprete che stiamo eseguendo un'operazione per colonna. L'argomento 'Age' dice all'interprete di eliminare la colonna con il nome 'Age'.
Dopo aver eseguito il codice precedente, otterrai il seguente DataFrame:
Come eliminare più righe e colonne
L'esempio sopra mostra l'eliminazione di una singola riga o colonna. Cosa succede se desideri eliminare più righe o colonne?
Per raggiungere questo obiettivo, utilizzeremo lo stesso codice con alcune lievi modifiche. Invece di utilizzare un singolo valore, possiamo fornire un elenco di argomenti alla funzione drop per rimuovere più righe e colonne contemporaneamente.
Diciamo che voglio eliminare le prime 2 righe nel nostro DataFrame. Per ottenere ciò, possiamo utilizzare il seguente codice:
# Dropping first 2 rows by index
df = df.drop([0, 1], axis=0)
In questo codice, stiamo dicendo all'interprete di eliminare le righe 0 e 1. L'output di questo codice è riportato di seguito:
Puoi vedere che le righe 0 e 1 non sono più nel DataFrame.
Abbandoniamo anche le colonne Reparto e Stipendio. Per fare ciò, possiamo utilizzare il seguente codice:
# Dropping columns by name
df = df.drop(['Salary', 'Department'], axis=1)
In questo script Python chiediamo all'interprete di eliminare le colonne con Stipendio e Dipartimento come intestazioni di colonna. L'output di questo codice è riportato di seguito:
Questo è il nostro DataFrame finale. In totale, abbiamo eliminato due righe e due colonne dal nostro DataFrame utilizzando il metodo drop.
Per ulteriori informazioni su MultiIndex nei panda, guarda il seguente video:
Come eliminare righe e colonne con Inplace
Nell'esempio precedente, puoi vedere che prima apportiamo modifiche al DataFrame e poi lo salviamo come nuovo DataFrame. Tuttavia, questo non è un modo efficiente per eliminare righe e colonne.
Un'altra alternativa all'eliminazione di righe e colonne consiste nell'impostare l' argomento inplace della funzione drop su True .
Impostando il parametro inplace su True , puoi modificare in modo permanente il DataFrame senza doverlo riassegnare.
Questo è utile quando si ha a che fare con DataFrame di grandi dimensioni, in quanto può risparmiare memoria evitando la creazione di un nuovo DataFrame.
Di seguito è riportato un esempio di eliminazione di righe e colonne con inplace :
# Dropping rows by index inplace
df.drop(labels=[0, 1], axis=0, inplace=True)
# Dropping columns by name inplace
df.drop(['Salary', 'Department'], axis=1, inplace=True)
L'output del codice precedente è riportato di seguito:
Qui puoi vedere che non stiamo creando alcun nuovo DataFrame ma apportando modifiche a quello originale.
Come lavorare con gli indici in Panda
In questa sezione, discuteremo come lavorare con gli indici in un DataFrame panda . Tratteremo le seguenti due sottosezioni:
Imposta e ripristina l'indice
Colonna ID e indice
1. Come impostare e reimpostare l'indice
Un aspetto importante del lavoro con i panda è capire come impostare e reimpostare le colonne dell'indice. Un indice è un identificatore di chiave per ogni riga e ci sono casi in cui potresti volerlo cambiare.
Impostazione di un nuovo indice
Per impostare un nuovo indice, puoi utilizzare il metodo set_index() . La sintassi di set_index è riportata di seguito:
df.set_index('column_name', inplace=True)
L'argomento inplace=True qui significa che stiamo apportando modifiche al DataFrame esistente.
Per dimostrarlo, utilizzeremo il seguente DataFrame:
Diciamo che vorremmo rendere la colonna Name l'indice del nostro DataFrame. Per ottenere ciò, possiamo utilizzare il seguente codice:
df.set_index('Name', inplace=True)
Questo script Python renderà Name l'indice del nostro DataFrame. L'output di questo codice è riportato di seguito:
Azzeramento dei valori dell'indice
Per reimpostare l'indice al suo formato predefinito (ovvero un RangeIndex compreso tra 0 e la lunghezza del DataFrame meno 1), è possibile utilizzare il metodo reset_index() .
La sintassi di reset_index() è riportata di seguito:
df.reset_index(drop=True, inplace=True)
Impostando drop=True , la colonna dell'indice corrente verrà rimossa, mentre inplace=True garantisce che le modifiche vengano applicate direttamente al DataFrame senza crearne uno nuovo.
Quando applichiamo questo codice al DataFrame precedente, otteniamo il seguente output:
Puoi vedere che il nome, che in precedenza era il nostro indice, è stato ripristinato ai valori predefiniti.
2. Ulteriori operazioni con la colonna dell'indice
Quando importi un DataFrame da, ad esempio, un file CSV, puoi utilizzare il parametro index_col per specificare una colonna da utilizzare come indice.
La sintassi di index_col è riportata di seguito:
df = pd.read_csv('data.csv', index_col='column_name')
Inoltre, se desideri esportare un DataFrame senza la colonna index, puoi impostare il parametro index su False.
La sintassi per questo metodo è riportata di seguito:
df.to_csv('output.csv', index=False)
Ora che hai compreso il metodo per eliminare l'indice, diamo un'occhiata a come puoi gestire gli errori quando usi la funzione drop nella sezione successiva.
Come gestire gli errori quando si utilizza la funzione Drop in Pandas
In questa sezione, esploreremo come gestire errori e casi speciali quando si usa la funzione drop dei panda per rimuovere le colonne dell'indice da un DataFrame.
In particolare, discuteremo di quanto segue:
Gestione KeyError
Lavorare con righe duplicate
1. Come gestire KeyError
Quando si utilizza la funzione drop nei panda, è possibile riscontrare un KeyError se l'indice o la colonna specificati non vengono trovati nel DataFrame.
Per evitare che si verifichi questo errore, è possibile utilizzare il parametro errors . Il parametro error ha due opzioni: 'raise' e 'ignore'. Per impostazione predefinita, è impostato su 'raise', il che significa che verrà generato un KeyError se l'indice o la colonna specificati non vengono trovati.
Tuttavia, puoi impostarlo su "ignora" se desideri sopprimere l'errore e continuare l'esecuzione del codice.
Supponiamo di avere il seguente DataFrameProviamo a eliminare una riga che non esiste nel DataFrame e vediamo cosa succede:
# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)
Lo script Python darà il seguente errore:
Per gestire tali errori, assicurati di fare riferimento alle righe presenti nel set di dati.
2. Come lavorare con righe duplicate
Quando si puliscono i dati, un'attività importante è cercare i duplicati e rimuoverli.
La gestione di righe duplicate in un DataFrame può aggiungere complessità quando si utilizza la funzione drop .
Se si desidera eliminare righe in base a valori di indice duplicati, è possibile utilizzare la funzione duplicata e quindi utilizzare l'indicizzazione booleana per selezionare solo le righe non duplicate.
Supponiamo di avere il seguente DataFrame:
Puoi vedere che abbiamo indici duplicati nel nostro set di dati. Per rimuovere i duplicati, per prima cosa identificheremo i valori duplicati con il seguente codice:
# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')
Successivamente, selezioneremo solo le righe non duplicate e le memorizzeremo nel DataFrame precedente con il seguente codice:
# Select only non-duplicated rows
df = df[~duplicated_rows]
L'output finale è riportato di seguito:
L'output finale non ha più righe duplicate.
Pensieri finali
Mentre continui il tuo viaggio nella scienza dei dati e nell'analisi, capire come manipolare e gestire i dati è un'abilità che si rivelerà la più importante.
La padronanza di operazioni come l'eliminazione degli indici nei panda è una parte fondamentale di questo. Sapere come reimpostare o eliminare un indice è un trampolino di lancio verso la pulizia, la trasformazione e la derivazione di informazioni preziose dai dati.
Imparando a eliminare gli indici, sarai in grado di rimodellare i tuoi DataFrame in modo più efficace. Sarai anche in grado di creare set di dati più puliti che sono più facili da leggere e analizzare. Inoltre, la reimpostazione degli indici può essere cruciale durante l'unione o la concatenazione di più DataFrame, in cui potrebbero verificarsi conflitti di indice.
La possibilità di eliminare gli indici ti consente di avere maggiore controllo e flessibilità sui tuoi set di dati!
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