Se stai muovendo i primi passi con pandas, è probabile che tu abbia già incontrato questi due termini: Series e DataFrame.

In questa micro-lezione vedremo da vicino quali sono le differenze tra i due, perché Series e DataFrame sono le basi su cui si costruisce qualsiasi analisi con Python.

Cosa è una Series

Una Series è una sequenza monodimensionale di valori, con un indice associato a ciascuno di essi. Puoi pensarla come una singola colonna di un foglio Excel.

Per prima cosa, importiamo pandas:

import pandas as pd

E adesso creiamo una Series:

vendite = pd.Series([150, 230, 180, 95, 310])

Ed ecco come appare:

indice

vendite

0

150

1

230

2

180

3

95

4

310

L'indice viene creato automaticamente da pandas, partendo da 0. Puoi anche personalizzarlo:

vendite = pd.Series(
    [150, 230, 180, 95, 310],
    index=['lun', 'mar', 'mer', 'gio', 'ven']
)

indice

vendite

lun

150

mar

230

mer

180

gio

95

ven

310

Cosa è un DataFrame

Un DataFrame è una struttura bidimensionale: ha righe e colonne, proprio come una tabella. Puoi pensarlo come un foglio Excel intero, o come il risultato di una query SQL.

Ecco come crearne uno:

df = pd.DataFrame({
    'giorno': ['lun', 'mar', 'mer', 'gio', 'ven'],
    'vendite': [150, 230, 180, 95, 310],
    'resi': [5, 12, 8, 3, 20]
})

Ed ecco il nostro DataFrame:

indice

giorno

vendite

resi

0

lun

150

5

1

mar

230

12

2

mer

180

8

3

gio

95

3

4

ven

310

20

Nota bene!

Anche in quest caso, una colonna che funge da indice (partendo da 0) è stata aggiunta in automatico al dataframe

Il legame tra Series e DataFrame

La cosa essenziale da tenere a mente è che ogni colonna di un DataFrame è una Series.

Quindi, quando selezioni una singola colonna da un DataFrame, ottieni una Series:

df['vendite']

Puoi verificarlo con type() :

type(df['vendite'])

E questo sarà l’output del codice:

pandas.core.series.Series

Se invece selezioni più colonne quando usi type() , avrai un oggetto bidimensionale:

type(df[['vendite','resi']] )

E in effetti, il risultato di type() sarà questo:

pandas.core.frame.DataFrame

Quando usare l'una o l'altro

In pratica, lavorerai quasi sempre con i DataFrame: sono la struttura principale di pandas. Le Series compaiono naturalmente ogni volta che isoli una colonna o calcoli un risultato su una dimensione sola.

È utile sapere con quale delle due stai lavorando perché alcuni metodi si comportano diversamente su una Series rispetto a un DataFrame. Quando hai dubbi, usa sempre type() per verificare.

Alla prossima micro-lezione 👋

Se vuoi imparare la data analysis con micro-lezioni che vanno dritto al sodo, iscriviti alla newsletter: