panda

Tutorial sui panda in Python

Tutorial sui panda in Python
In questa lezione sulla libreria Python Pandas, esamineremo diverse strutture di dati che questo pacchetto Python fornisce per funzionalità di elaborazione rapida dei dati che sono efficienti per i dati dinamici e la gestione di operazioni complesse su dati multidimensionali. In questa lezione tratteremo principalmente:

Sembra molto da coprire. Cominciamo adesso.

Che cos'è il pacchetto Python Panda??

Secondo la homepage di Pandas: pandas è una libreria open source con licenza BSD che fornisce strutture di dati ad alte prestazioni e facili da usare e strumenti di analisi dei dati per il linguaggio di programmazione Python.

Una delle cose più interessanti di Pandas è che consente di leggere i dati da formati di dati comuni come CSV, SQL ecc. molto semplice che lo rende ugualmente utilizzabile in applicazioni di livello di produzione o solo in alcune applicazioni demo.

Installa Python Panda

Solo una nota prima di iniziare il processo di installazione, utilizziamo un ambiente virtuale per questa lezione che abbiamo creato con il seguente comando:

python -m virtualenv panda
fonte panda/bin/activate

Una volta che l'ambiente virtuale è attivo, possiamo installare la libreria pandas all'interno dell'ambiente virtuale in modo che gli esempi che creeremo in seguito possano essere eseguiti:

pip installa panda

Oppure, possiamo usare Conda per installare questo pacchetto con il seguente comando:

conda installa panda

Vediamo qualcosa di simile quando eseguiamo il comando precedente:

Una volta completata l'installazione con Conda, saremo in grado di utilizzare il pacchetto nei nostri script Python come:

importa panda come pd

Iniziamo a utilizzare Panda nei nostri script ora.

Lettura di file CSV con Pandas DataFrames

Leggere un file CSV è facile con Pandas. A scopo dimostrativo, abbiamo costruito un piccolo file CSV con i seguenti contenuti:

Nome,RollNo,Data di ammissione,Contatto di emergenza
Shubham,1,20-05-2012,9988776655
Gagan,2,20-05-2009,8364517829
Oshima,3,20-05-2003,5454223344
Vyom,4,20-05-2009,1223344556
Ankur,5,20-05-1999,9988776655
Vinod,6,20-05-1999,9988776655
Vipin,7,20-05-2002,9988776655
Ronak,8,20-05-2007,1223344556
DJ,9,20-05-2014,9988776655
VJ,10,20-05-2015,9988776655

Salva questo file nella stessa directory dello script Python. Una volta che il file è presente, aggiungi il seguente frammento di codice in un file Python:

importa panda come pd
studenti = pd.read_csv("studenti.csv")
studenti.testa()

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

La funzione head() in Pandas può essere utilizzata per mostrare un campione di dati presenti nel DataFrame. Aspetta, DataFrame? Studieremo molto di più su DataFrame nella prossima sezione, ma capiremo solo che un DataFrame è una struttura di dati n-dimensionale che può essere utilizzata per contenere e analizzare o operazioni complesse su un insieme di dati.

Possiamo anche vedere quante righe e colonne hanno i dati correnti:

studenti.forma

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

Nota che i Panda contano anche il numero di righe a partire da 0.

È possibile ottenere solo una colonna in un elenco con Pandas. Questo può essere fatto con l'aiuto di indicizzazione in panda. Diamo un'occhiata a uno snippet di codice breve per lo stesso:

nomi_studenti = studenti['Nome']
nomi_studenti

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

Ma non sembra una lista, vero?? Bene, dobbiamo chiamare esplicitamente una funzione per convertire questo oggetto in una lista:

nomi_studenti = nomi_studenti.elencare()
nomi_studenti

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

Solo per ulteriori informazioni, possiamo assicurarci che ogni elemento nell'elenco sia unico e selezioniamo solo elementi non vuoti aggiungendo alcuni semplici controlli come:

nomi_studenti = studenti['Nome'].dropna().unico().elencare()

Nel nostro caso, l'output non cambierà poiché l'elenco non contiene già alcun valore di fallo.

Possiamo anche creare un DataFrame con dati grezzi e passarci i nomi delle colonne, come mostrato nel seguente frammento di codice:

my_data = pd.DataFrame(
[
[1, "Chan"],
[2, "Fabbro"],
[3, "Winslet"]
],
colonne=["Classifica", "Cognome"]
)
i miei dati

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

Affettare DataFrame

Scomporre i DataFrames per estrarre solo le righe e le colonne selezionate è una funzionalità importante per mantenere l'attenzione sulle parti di dati richieste che dobbiamo usare. Per questo, Pandas ci consente di suddividere DataFrame come e quando necessario con affermazioni come:

Nella sezione precedente, abbiamo già visto l'indicizzazione e lo slicing con i nomi delle colonne invece degli indici. È anche possibile combinare l'affettatura con numeri di indice e nomi di colonna. Diamo un'occhiata a un semplice frammento di codice:

studenti.loc[:5, 'Nome']

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

È possibile specificare più di una colonna:

studenti.loc[:5, ['Nome', 'Contatto di emergenza']]

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

Struttura dei dati della serie in Pandas

Proprio come Panda (che è una struttura dati multidimensionale), una serie è una struttura dati unidimensionale in Pandas. Quando recuperiamo una singola colonna da un DataFrame, stiamo effettivamente lavorando con una serie:

type(studenti["Nome"])

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

Possiamo anche costruire la nostra serie, ecco un frammento di codice per lo stesso:

serie = pd.Serie([ 'Shubham', 3.7 ])
serie

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

Come chiaro dall'esempio sopra, una serie può contenere più tipi di dati anche per la stessa colonna column.

Filtri booleani in Pandas DataFrame

Una delle cose positive di Pandas è come estrarre i dati da un DataFrame in base a una condizione. Come estrarre gli studenti solo quando il numero di rulli è maggiore di 6:

roll_filter = studenti['RollNo'] > 6
roll_filter

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

Beh, non è quello che ci aspettavamo. Sebbene l'output sia abbastanza esplicito su quali righe hanno soddisfatto il filtro che abbiamo fornito, ma non abbiamo ancora le righe esatte che hanno soddisfatto quel filtro. Si scopre che possiamo usare filtri come indici DataFrame anche:

studenti[roll_filter]

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

È possibile utilizzare più condizioni in un filtro in modo che i dati possano essere filtrati su un filtro conciso, come:

next_filter = (studenti['RollNo'] > 6) & (studenti['Nome'] > 'S')
studenti[next_filter]

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

Calcolo della mediana

In un DataFrame, possiamo anche calcolare molte funzioni matematiche. Daremo un buon esempio di calcolo della mediana. La mediana sarà calcolata per una data, non solo per numeri. Diamo un'occhiata a uno snippet di codice breve per lo stesso:

date = studenti['Data di ammissione'].astype('datetime64[ns]').quantile(.5)
date

Una volta eseguito il frammento di codice sopra, vedremo il seguente output:

Abbiamo ottenuto questo risultato indicizzando prima la colonna della data che abbiamo e quindi fornendo un tipo di dati alla colonna in modo che Pandas possa dedurla correttamente quando applica la funzione quantile per calcolare la data mediana.

Conclusione

In questa lezione, abbiamo esaminato vari aspetti della libreria di elaborazione di Pandas che possiamo utilizzare con Python per raccogliere dati da varie fonti in una struttura di dati DataFrame che ci consente di operare in modo sofisticato su un set di dati. Ci consente anche di ottenere un sottoinsieme di dati su cui vogliamo lavorare momentaneamente e fornisce molte operazioni matematiche.

Per favore condividi il tuo feedback sulla lezione su Twitter con @sbmaggarwal e @LinuxHint.

Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...
I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...
I 10 migliori giochi da giocare su Ubuntu
La piattaforma Windows è stata una delle piattaforme dominanti per i giochi a causa dell'enorme percentuale di giochi che si stanno sviluppando oggi p...