Menu
Coddy logo textTech

Modifiche personalizzate

Lezione 13 di 19 del corso Analisi dei dati con Pandas di Coddy.

Per apportare una modifica personalizzata, usa il metodo .apply e passagli una lambda o una function. Per esempio, per trovare il quadrato di ogni numero in una colonna:

df['num_squared'] = df['num'].apply(lambda x: x**2)

Puoi ottenere lo stesso risultato moltiplicando la colonna per se stessa:

df['num_squared'] = df['num'] * df['num']

Per aggiungere 2 al valore di ogni riga:

df["add_two"] = df['num'].apply(lambda x: x+2)
df["add_two"] = df['num'] + 2

Per sostituire ogni valore di una Series con un altro valore, usa il metodo .map e passagli una funzione, un dizionario o una Series.

Per esempio, se vogliamo sostituire i nomi dei frutti con valori numerici:

fruits_to_num = {"apple": 1, "mango": 2, "grape": 3}
df["fruits"] = df["fruits"].map(fruits_to_num)

Sia .map che .apply possono accettare funzioni:

df['num_squared'] = df['num'].apply(lambda x: x**2)
df['num_squared'] = df['num'].map(lambda x: x**2)

Per saperne di più sulle differenze tra i due metodi, puoi leggere qui.

 

challenge icon

Sfida

Facile

Il file CSV stats.csv contiene informazioni sulle statistiche.

Ecco le prime 5 righe del file:

ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPE
  • Sostituisci i valori di CATEGORY con: {"SHOW": 0, "TREE": 1, "JAPE": 2, "GHUP": 3, "PLQR": 4}.
  • Crea una nuova colonna chiamata SKILL_MASTERY. Riempi questa colonna con la seguente formula: moltiplica i valori delle colonne SKILL_POINTS e UTILIZATION. Se il risultato è maggiore di 5, dividilo per 4; altrimenti, dividilo per 2. Infine, aggiungi al risultato il valore della colonna IS_VALID.
  • ordina il risultato in ordine crescente in base a SKILL_MASTERY.

Memorizza il risultato nella variabile df.

Provalo tu

# pandas as pd è già stato importato
df = pd.read_csv("./stats.csv")
# Scrivi il tuo codice qui sotto

Tutte le lezioni di Analisi dei dati con Pandas

Esercitati da solo: Compilatore Python online