Panda filtro per indice

Panda filtro per indice

Utilizzando "Filter ()", possiamo filtrare un frame dati in base agli indici. Con questa tecnica, le righe o le colonne del frame dati saranno un sottoinsieme del frame dati originale secondo le etichette specificate nell'indice dato.

Esistono diversi metodi per filtrare le righe del frame dati in base al loro indice. Ma in questo tutorial, il nostro obiettivo principale è la funzione filtro (). Controlliamo prima la sua sintassi in modo da poterla utilizzare per filtrare i dati. Il metodo restituisce un oggetto dello stesso tipo di quello utilizzato come input.

Sintassi:

DataFrame_Object.filtro (elementi = nessuno, come = nessuno, regex = nessuno, axis = nessuno)

Parametri:

    1. elementi: Richiede un elenco delle etichette degli assi che si desidera filtrare.
    2. Piace: Mantieni l'asse di informazione in cui "arg in col == vero". Viene presa l'etichetta della stringa dell'asse che vogliamo filtrare.
    3. Regex: Mantieni l'asse delle informazioni dove è.Search (regex, col) == true.
    4. asse: L'asse su cui filtrare l'indice 'indice' o 0, 'colonne' o 1, nessuna. Per impostazione predefinita, questo è l'asse informativo. Per la serie, è "indice". Per DataFrame, sono "colonne".

Dal momento che abbiamo visto la sintassi, dimostriamo la funzione Filter () nei seguenti esempi:

Esempio 1: filtro per indice numerico

Crea il frame data con 2 colonne che contiene 5 record e restituiscono solo le righe particolari in base all'indice.

Panda di importazione
hobby = panda.DataFrame ('Stud_Name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5'],
'Hobbys': ['Music', 'Canting', 'Dance', 'Play', 'Drink'])
Stampa (hobby)
stampa()
# Ottieni solo la prima riga
Stampa (hobby.filtro ([0], axis = 0))
stampa()
# Ottieni solo la quinta riga
Stampa (hobby.filtro ([4], axis = 0))


Produzione:

stud_name hobby
0 Stud 1 Music
1 Stud 2 Singing
2 Stud 3 Dance
3 Stud 4 Play
4 Stud 5 Drink
stud_name hobby
0 Stud 1 Music
stud_name hobby
4 Stud 5 Drink


Spiegazione:

    1. Nel primo output, abbiamo restituito la prima riga usando Index-0.
    2. Nel secondo output, abbiamo restituito la quinta riga usando Index-4.

Esempio 2: filtro per più indici numerici

Crea il frame date con 2 colonne che contiene 5 record e restituiscono solo le righe particolari in base all'indice alla volta.

Panda di importazione
hobby = panda.DataFrame ('Stud_Name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5'],
'Hobbys': ['Music', 'Canting', 'Dance', 'Play', 'Drink'])
# Ottieni le prime due righe
Stampa (hobby.filtro (elementi = [0,1], axis = 0))
stampa()
# Ottieni solo il secondo, il terzo e la quinta file
Stampa (hobby.filtro (elementi = [1,2,4], axis = 0))


Produzione:

stud_name hobby
0 Stud 1 Music
1 Stud 2 Singing
stud_name hobby
1 Stud 2 Singing
2 Stud 3 Dance
4 Stud 5 Drink


Spiegazione:

    1. Nel primo output, abbiamo restituito la prima e la seconda riga alla volta usando l'indice-0 e 1.
    2. Nel secondo output, abbiamo restituito la seconda, la terza e la quinta righe usando INDICE-1, 2 e 4.

Esempio 3: filtro per indice non numerico

Crea il frame date con 3 colonne che contiene 4 record e restituire solo le righe particolari in base all'indice. Qui, l'indice è di ".tipo stringa ".

Panda di importazione
viaggio = panda.DataFrame ("da": ["City 1", "City 1", "City 3", "City 4"],
'To': ['AP', 'USA', 'City 2', 'Città 1'],
'Distanza': [200.500.466.100],
INDICE = ['PASSEGGER 1', 'Passenger 2', 'Passenger 3', 'Passenger 4'])
Stampa (viaggio)
stampa()
# Ottieni la riga in cui indice-'passizzo 3'.
Stampa (viaggio.filtro (elementi = ['passeggeri 3'], axis = 0))
stampa()
# Ottieni la riga in cui indice-'Passenger 1 '.
Stampa (viaggio.filtro (elementi = ['passeggeri 1'], axis = 0))


Produzione:

da distanza
Passeggero 1 Città 1 AP 200
Passeggero 2 Città 1 USA 500
Passeggero 3 Città 3 Città 2 466
Passeggero 4 Città 4 Città 1 100
da distanza
Passeggero 3 Città 3 Città 2 466
da distanza
Passeggero 1 Città 1 AP 200


Spiegazione:

    1. Nel primo output, abbiamo restituito la terza riga usando l'indice: "Passenger 3".
    2. Nella seconda uscita, abbiamo restituito la prima riga usando l'indice: "Passenger 1".

Esempio 4: filtro per più indici non numerici

Restituire le ultime tre righe alla volta in base all'indice.

Panda di importazione
viaggio = panda.DataFrame ("da": ["City 1", "City 1", "City 3", "City 4"],
'To': ['AP', 'USA', 'City 2', 'Città 1'],
'Distanza': [200.500.466.100],
INDICE = ['PASSEGGER 1', 'Passenger 2', 'Passenger 3', 'Passenger 4'])
# Ottieni la riga in cui indice- 'Passenger 2', 'Passenger 3', 'Passenger 4'
Stampa (viaggio.filtro (elementi = ['passeggeri 2', 'passeggeri 3', 'passeggeri 4'], axis = 0))


Produzione:

da distanza
Passeggero 2 Città 1 USA 500
Passeggero 3 Città 3 Città 2 466
Passeggero 4 Città 4 Città 1 100

Esempio 5: filtro usando il parametro simile

Utilizziamo il parametro "Mi piace" per restituire le righe in base all'indice come - "Passenger" e "R 1", separatamente.

Panda di importazione
viaggio = panda.DataFrame ("da": ["City 1", "City 1", "City 3", "City 4"],
'To': ['AP', 'USA', 'City 2', 'Città 1'],
'Distanza': [200.500.466.100],
INDICE = ['PASSEGGER 1', 'Passenger 2', 'Passenger 3', 'Passenger 4'])
# Ottieni la riga in cui l'indice è come "passeggero".
Stampa (viaggio.Filtro (like = 'Passenger', axis = 0))
stampa()
# Ottieni la riga in cui l'indice è come 'r 1'.
Stampa (viaggio.filtro (like = 'r 1', axis = 0))


Produzione:

da distanza
Passeggero 1 Città 1 AP 200
Passeggero 2 Città 1 USA 500
Passeggero 3 Città 3 Città 2 466
Passeggero 4 Città 4 Città 1 100
da distanza
Passeggero 1 Città 1 AP 200


Spiegazione:

    1. Tutti gli indici contengono "passeggero". Quindi, tutte le righe sono state restituite nel primo output.
    2. Solo un indice è come "R 1". Quindi, la riga con indice - "Passenger 1" viene restituita nella seconda uscita.

Esempio 6:

Consideriamo il frame dati con gli indici - ["Sravan", "Ravan", "Pavan", "Ravi"] e quindi restituire le righe con indici come "N" e "M" separatamente.

Panda di importazione
viaggio = panda.DataFrame ("da": ["City 1", "City 1", "City 3", "City 4"],
'To': ['AP', 'USA', 'City 2', 'Città 1'],
'Distanza': [200.500.466.100],
INDICE = ['Sravan', 'Ravan', 'Pavan', 'Ravi'])
# Ottieni la riga in cui l'indice è come 'n'.
Stampa (viaggio.filtro (like = 'n', axis = 0))
stampa()
# Ottieni la riga in cui l'indice è come 'M'.
Stampa (viaggio.filtro (like = 'm', axis = 0))


Produzione:

da distanza
Sravan City 1 AP 200
Ravan City 1 USA 500
Pavan City 3 Città 2 466
Frame di dati vuoto
Colonne: [da, a, distanza]
INDICE: []


Spiegazione:

    1. Ci sono tre righe in cui l'indice include "N".
    2. Non c'è riga in cui gli indici includono "M". Quindi, viene restituito il frame dati vuoto.

Conclusione

Ti abbiamo insegnato come recuperare le righe dei telai dati in base ai loro indici in Panda. Abbiamo visto prima la sintassi della funzione Filter () per comprendere i suoi parametri e il funzionamento della funzione del filtro. Abbiamo implementato i diversi esempi per insegnarti come filtrare un telaio di dati utilizzando gli indici di valori numerici e valori non numerici. Abbiamo anche implementato alcuni esempi per spiegare come è possibile filtrare un frame di dati per gli indici che contengono un particolare carattere o stringa passando il parametro simile alla funzione filtro ().