Il 0% ha trovato utile questo documento (0 voti)
7 visualizzazioni24 pagine

Pandas e Python

Questo documento descrive come utilizzare la libreria Pandas di Python per manipolare e analizzare i dati. Pandas consente di importare dati da diverse fonti come file Excel, CSV e database SQL, e di rappresentarli in DataFrame. I DataFrame consentono di selezionare righe e colonne, ordinare e filtrare i dati, applicare funzioni alle colonne e rimuovere righe e colonne duplicate.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
7 visualizzazioni24 pagine

Pandas e Python

Questo documento descrive come utilizzare la libreria Pandas di Python per manipolare e analizzare i dati. Pandas consente di importare dati da diverse fonti come file Excel, CSV e database SQL, e di rappresentarli in DataFrame. I DataFrame consentono di selezionare righe e colonne, ordinare e filtrare i dati, applicare funzioni alle colonne e rimuovere righe e colonne duplicate.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Pandas e Python

Pandas è una libreria open source di Python che fornisce analisi e


manipolazione dei dati inla programmazione in Python.
È una biblioteca molto promettente per la rappresentazione dei dati, il filtraggio e la programmazione
statistica. Il pezzo più importante in pandas è il DataFrame dove memorizza e gioca
con i dati.

In questo tutorial, imparerai cos'è un DataFrame, come crearlo da diverse fonti,


come esportarlo in risultati diversi e come manipolare i suoi dati.

Installare pandas
Puoi installare pandas in Pythonusando pip. Esegui il seguente comando nel cmd:
pipinstalla pandas

Inoltre, puoi installare pandas usando conda in questo modo:

condainstallpandas

Leggere un file Excel


Puoi leggere da un file Excel utilizzando il metodo read_excel() di pandas. A tal fine,
è necessario importare un modulo in più chiamato xlrd.

Installa xlrd usando pip:


pip install xlrd

Il seguente esempio mostra come leggere da un foglio di Excel:

1 Creiamo un foglio Excel con i seguenti contenuti:

2. Importa il modulo di pandas.


importa pandas
3. Passeremo il nome del file Excel e il numero di foglio di cui abbiamo bisogno
leggere i dati con il metodo read_excel ()
pandas.read_excel('[Link]','Foglio1')
Il frammento precedente genererà il seguente risultato:
Se verifichi il tipo di uscita usando la parola chiave di tipo, otterrà il seguente risultato:

<classe '[Link]'>
Questo risultato è chiamato DataFrame! Questa è l'unità di base di pandas con cui lavoriamo.
a trattare fino alla fine del tutorial.
Il DataFrame è una struttura a 2 dimensioni etichettata dove possiamo memorizzare
dati di diversi tipi. DataFrame è simile a una tabella SQL o a un foglio di calcolo di
Excel.

Importa file CSV


Per leggere un file CSV, puoi usare il metodo read_csv() di pandas.

Importa il modulo di pandas:

importare pandas
Ora chiama il metodo read_csv() nel seguente modo:

pandas.read_csv('[Link]')
[Link] ha il seguente contenuto:
Il codice genererà il seguente DataFrame:

Leggere un file di testo


Possiamo anche usare il metodo read_csv di pandas per leggere da un file di testo;
Considera il seguente esempio:

importa pandas

pandas.read_csv('[Link]')
Il [Link] ha il seguente formato:
L'uscita del codice precedente sarà:

Questo file di testo è trattato come un file CSV perché abbiamo elementi separati
per virgole. Il file può anche utilizzare un altro delimitatore, come un punto e virgola, un
tabulatore, ecc.

Supponiamo di avere un delimitatore di tabulazione e il file appare così:


Quando il delimitatore è un tabulatore, otterremo il seguente risultato:

Poiché i panda non hanno idea del delimitatore, traduci il tabulatore in \t.

Per definire il carattere di tabulazione come delimitatore, passare l'argomento delimitatore di


questo modo:

pandas.read_csv('[Link]', delimiter='\t')
Ora l'uscita sarà:

Sembra corretto adesso.


Leggere SQL
Puoi usare il metodo read_sql() di pandas per leggere da un database SQL. Questo si
dimostra nel seguente esempio:

importa sqlite3

importa pandas

con = [Link]('[Link]')

pandas.read_sql('seleziona * da Employee', con)


In questo esempio, ci connettiamo a unadatabase SQLite3che ha una tabella chiamata
“Dipendente”. Utilizzando il metodo read_sql() di pandas, passiamo una query e un oggetto di
connessione al metodo read_sql (). La query recupera tutti i dati dalla tabella.
La nostra tabella dei dipendenti è simile alla seguente:

Quando esegui il codice precedente, l'output sarà simile al seguente:


Selezionare colonne
Supponiamo di avere tre colonne nella tabella Dipendente in questo modo:

Per selezionare colonne dalla tabella, passeremo la seguente query:

seleziona Nome, Lavoro da Dipendente


La sentenza del codice di pandas sarà la seguente:
pandas.read_sql('seleziona Nome, Lavoro da Employee', con)

Possiamo anche selezionare una colonna di una tabella accedendo al DataFrame a.


Considera il seguente esempio:

x = pandas.read_sql('select*fromEmployee', con)

Nome
Il risultato sarà il seguente:

Selezionare righe per valore


Prima creeremo un DataFrame da cui selezioneremo le righe.

Per creare un DataFrame, considera il seguente codice:

importa pandas

frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',


Funzionario

df = [Link](frame_data)
In questo codice, creiamo un DataFrame con tre colonne e tre righe utilizzando il metodo
DataFrame () di pandas. Il risultato sarà il seguente:

Per selezionare una riga in base al suo valore, eseguire la seguente istruzione

[Link][df['name'] =='Jason']
[Link] [] o [Link] [] è un array booleano che può essere utilizzato per accedere a righe o
colonne tramite valori o etichette. Nel codice precedente, verrà cercata la riga dove il
il nome è uguale a Jason.

La uscita sarà:

Selezionare riga per indice


Per selezionare una riga in base al suo indice, possiamo usare l'operatore di slicing (:) o il
arreglo [Link] [].

Considera il seguente codice:

>>> frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',


Impiegato

>>> df = [Link](frame_data)
Creiamo un DataFrame. Ora accediamo a una riga usando [Link] []:

>>> [Link][1]
Come puoi vedere, abbiamo recuperato una riga. Possiamo fare lo stesso usando l'operatore di
segmentazione nel seguente modo:

>>> df[1:2]

Cambia tipo di colonna


Il tipo di dati di una colonna può essere modificato utilizzando l'attributo astype() di
DataFrame. Per verificare il tipo di dati delle colonne, utilizziamo l'attributo dtypes di
DataFrame.

>>> [Link]
L'uscita sarà:

Ora per convertire il tipo di dati da uno all'altro:

>>> [Link] = [Link](str)


Cerchiamo la colonna 'name' del nostro DataFrame e cambiamo il suo tipo di dati in oggetto
una catena di caratteri.

Applicare una funzione a colonne / righe


Per applicare una funzione a una colonna o a una riga, puoi usare il metodo apply() di
DataFrame.

Considera il seguente esempio:

>>> frame_data = {'A': [1,2,3],'B': [18,20,22],'C': [54,12,13]}


>>> df = [Link](frame_data)
Creiamo un DataFrame e aggiungiamo valori di tipo intero nelle righe. Per applicare una
funzione, ad esempio, la radice quadrata nei valori, importeremo il modulonumpyper
utilizzare la funzione sqrt in questo modo:
>>>importa numpy come np

>>>[Link]([Link])
L'uscita sarà la seguente:

Per applicare una funzione di somma, il codice sarà:

>>> [Link]([Link])

Per applicare la funzione a una colonna specifica, puoi specificare la colonna del
seguente forma:

>>>df['A'].apply([Link])

Ordinare valori / ordinare per colonna


Per ordinare i valori in un DataFrame, utilizza il metodo sort_values() del DataFrame.

Crea un DataFrame con valori interi:

>>> frame_data = {'A': [23,12,30],'B': [18,20,22],'C': [54,112,13]}

>>> df = [Link](frame_data)
Ora per ordinare i valori:

>>> df.sort_values(by=['A'])
La uscita sarà:
Il metodo sort_values() ha un attributo "by" che è necessario. Nel codice precedente, i
i valori si ordinano per la colonna A. Per ordinare per più colonne, il codice è il
seguente:

>>> df.sort_values(by=['A','B'])
Se desidera ordinare in ordine decrescente, impostare l'attributo ascending di set_values su
Falso in questo modo:

>>>df.sort_values(by=['A'], ascending=False)
L'uscita sarà:

Rimuovere / Eliminare duplicati


Per eliminare righe duplicate da un DataFrame, usa il metodo drop_duplicates() del
DataFrame.

Considera il seguente esempio:

>>> frame_data = {'name': ['James','Jason','Rogers','Jason'],'age': [18,20,22,20],'job': ['Assistant',


Manager

>>> df = [Link](frame_data)
Qui creiamo un DataFrame con una riga duplicata. Per verificare se ci sono righe duplicate in
il DataFrame, usa il metodo duplicated() del DataFrame.

>>> [Link]()
Il risultato sarà:

Si può vedere che l'ultima riga è un duplicato. Per eliminare questa riga, esegui il seguente
linea di codice

>>> df.drop_duplicates()
Ora il risultato sarà:

Eliminare duplicati per colonna


A volte abbiamo dati in cui i valori delle colonne sono gli stessi e desideriamo
eliminarli. Possiamo eliminare una riga per colonna passando il nome della colonna che
dobbiamo eliminare.

Ad esempio, abbiamo il seguente DataFrame:

>>> frame_data = {'name': ['James','Jason','Rogers','Jason'],'age': [18,20,22,21],'job': ['Assistant',


'Manager','Clerk','Employee']}

>>> df = [Link](frame_data)
Qui puoi vedere che Jason è presente due volte. Se desideri rimuovere i duplicati per colonna,
semplicemente passa il nome della colonna nel seguente modo:

>>> df.drop_duplicates(['nome'])
Il risultato sarà come il seguente:

Eliminare una colonna


Per eliminare una colonna o una riga completa, possiamo utilizzare il metodo drop() del DataFrame
specificando il nome della colonna o della riga.

Considera il seguente esempio:

>>> [Link](['lavoro'], axis=1)


In questa riga di codice, stiamo eliminando la colonna chiamata 'job'. L'argomento del
l'asse è necessario qui. Se il valore dell'asse è 1 significa che vogliamo eliminare colonne, se il
Il valore dell'asse è 0 significa che la riga verrà eliminata. Nei valori dell'asse, 0 è per indice e 1
per colonne.

Il risultato sarà:
Elimina righe
Possiamo utilizzare il metodo drop() per eliminare una riga passando l'indice della riga.

Supponiamo di avere il seguente DataFrame:

>>> frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',


Impiegato

>>> df = [Link](frame_data)
Per eliminare una riga con l'indice 0 dove il nome è James, l'età è 18 e il lavoro è
sei un assistente, usa il seguente codice:

>>> [Link]([0])

Creiamo un DataFrame dove gli indici sono i nomi:

>>> frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',


Dipendente

>>> df = [Link](frame_data, index = ['James','Jason','Rogers'])

Ora possiamo eliminare una riga con un certo valore. Ad esempio, se vogliamo eliminare una
fila dove il nome è Rogers, allora il codice sarà:

>>> [Link](['Rogers'])
La uscita sarà:

Puoi anche eliminare un intervallo di righe nel seguente modo:


>>>[Link]([Link][[0, 1]])
Questo eliminerà le righe dall'indice 0 a 1 e rimarrà solo una riga poiché il nostro DataFrame è
compone di 3 righe:

Se desideri eliminare l'ultima riga del DataFrame e non sai quale sia il numero totale di righe,
può utilizzare l'indicizzazione negativa come mostrato di seguito:

>>>[Link]([Link][-1])
-1 cancella l'ultima riga. Allo stesso modo, -2 cancellerà le ultime 2 righe e così via.

Sommare una colonna


Puoi usare il metodo sum() del DataFrame per sommare gli elementi della colonna.

Supponiamo di avere il seguente DataFrame:

>>> frame_data = {'A': [23,12,12],'B': [18,18,22],'C': [13,112,13]}

>>> df = [Link](frame_data)
Ora per sommare gli elementi della colonna A, usa la seguente riga di codice:

>>> df['A'].somma()

Puoi anche utilizzare il metodo apply() del DataFrame e passare il metodo di somma di
numpy per sommare i valori.

Contare valori unici


Per contare i valori unici in una colonna, puoi usare il metodo nunique () del
DataFrame.

Supponiamo di avere un DataFrame come segue:


>>> frame_data = {'A': [23,12,12],'B': [18,18,22],'C': [13,112,13]}

>>> df = [Link](frame_data)
Per contare i valori unici nella colonna A:

>>> df['A'].nunique()

Come puoi vedere, la colonna A ha solo 2 valori unici 23 e 12 e l'altro 12 è un


duplicato, ecco perché abbiamo 2 in uscita.

Se desidera contare tutti i valori in una colonna, puoi usare il metodo count () della
seguente modalità:

>>> df['A'].count()

File di sottoinsiemi
Per selezionare un sottoinsieme di un DataFrame, puoi usare le parentesi quadre.

Ad esempio, abbiamo un DataFrame che contiene alcuni interi. Possiamo selezionare o


cercare il sottoinsieme di una riga in questo modo:

df.[inizio:conteggio]
Il punto di partenza sarà incluso nel sottoinsieme, ma il punto di fermata non è incluso. Per
esempio, per selezionare 3 righe a partire dalla prima riga, scriverai:

>>> df[0:3]
L'uscita sarà:

Quel codice significa iniziare dalla prima riga che è 0 e selezionare 3 righe.

Allo stesso modo, per selezionare le prime 2 righe, scriverai:


>>> df[0:2]

Per selezionare o cercare un sottoinsieme con l'ultima riga, usa l'indicizzazione negativa:

>>> df[-1:]

Scrivere in un Excel
Per scrivere un DataFrame in un foglio di Excel, possiamo utilizzare il metodo to_excel().

Per scrivere in un foglio di Excel, devi aprire il foglio e per aprire un foglio di Excel,
dovremo importare il modulo openpyxl.

Installa openpyxl usando pip:

pip install openpyxl

Considera il seguente esempio:

>>> importa openpyxl


>>> frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',
Impiegato

>>> df = [Link](frame_data)

>>> df.to_excel("[Link]", "Sheet1")


Il file Excel apparirà come segue:

Scrivere su un file CSV


Allo stesso modo, per scrivere un DataFrame in CSV, puoi utilizzare il metodo to_csv ()
come mostrato nella seguente riga di codice.

>>> df.to_csv("[Link]")
Il file di output sarà come il seguente:
Scrivere in SQL
Per scrivere dati in SQL, possiamo usare il metodo to_sql().

Considera il seguente esempio:

importa sqlite3

importa pandas

con = [Link]('[Link]')

frame_data = {'name': ['James','Jason','Rogers'],'age': [18,20,22],'job': ['Assistant','Manager',


Impiegato

df = [Link](frame_data)

df.to_sql('utenti', con)
In questo codice, creiamo una connessione con un database sqlite3. Poi creiamo un
DataFrame con tre righe e tre colonne.

Finalmente, utilizziamo il metodo to_sql del nostro DataFrame (df) e passiamo il nome di
la tabella dove saranno memorizzati i dati insieme all'oggetto di connessione.
Il database SQL apparirà nel seguente modo:

Scrivere in JSON
Puoi usare il metodo to_json() del DataFrame per scrivere in un file JSON.

Questo è dimostrato nel seguente esempio:

>>> df.to_json("[Link]")
In questa riga di codice, il nome del file JSON viene passato come un argomento. Il
Il DataFrame sarà archiviato nel file JSON. Il file conterrà il seguente contenuto:
Scrivere in un file HTML
Può utilizzare il metodo to_html() del DataFrame per creare un file HTML con il
contenuto del DataFrame.

Considera il seguente esempio:

>>> df.to_html("[Link]")
Il file dei risultati conterrà il seguente contenuto:

Quando apri il file HTML nel browser, apparirà così:


Lavorare con pandas è molto facile. È come lavorare con fogli di Excel! Pandas DataFrame
è una biblioteca molto flessibile che puoi usare.

Potrebbero piacerti anche