Aggiungere e rimuovere colonne e righe da dataframe Pandas
Una delle operazioni fondamentali che è possibile eseguire su un DataFrame è l'aggiunta e la rimozione di colonne e righe. Queste operazioni sono essenziali per la pulizia dei dati, la trasformazione e la preparazione per ulteriori analisi.
Aggiungere colonne a un DataFrame Pandas
Aggiungere una nuova colonna a un DataFrame è un'operazione comune, spesso necessaria per calcolare nuove variabili o aggiungere informazioni supplementari.
Il metodo più semplice per aggiungere una colonna a un DataFrame è assegnare un valore a una nuova colonna.
import pandas as pd
# Creazione di un DataFrame di esempio
data = {
'Nome': ['Luca', 'Marta', 'Giovanni', 'Anna'],
'Età': [25, 30, 22, 28]
}
df = pd.DataFrame(data)
# Aggiunta di una nuova colonna con un valore fisso
df['Salario'] = 50000
print(df)
In questo esempio, abbiamo aggiunto una colonna chiamata 'Salario' a tutti i record del DataFrame, assegnando a ciascuno un valore fisso di 50.000.
Spesso, le nuove colonne sono il risultato di un calcolo basato su colonne esistenti.
# Aggiunta di una colonna basata su un calcolo
df['Anni_dopo_10'] = df['Età'] + 10
print(df)
Qui, abbiamo aggiunto una colonna chiamata 'Anni_dopo_10', che rappresenta l'età delle persone dopo 10 anni. Questo tipo di aggiunta è utile quando si devono eseguire analisi predittive o simulazioni.
È possibile aggiungere una colonna a un DataFrame utilizzando un'altra Serie o un array NumPy.
import numpy as np
# Aggiunta di una colonna utilizzando un array NumPy
bonus = np.array([1000, 1500, 1200, 1800])
df['Bonus'] = bonus
print(df)
Rimuovere colonne da un DataFrame Pandas
A volte, è necessario rimuovere colonne da un DataFrame per ridurre il numero di variabili, migliorare la leggibilità dei dati o semplicemente eliminare dati non necessari.
Per rimuovere una o più colonne da un DataFrame, si utilizza il metodo drop di Pandas.
# Rimozione di una colonna
df = df.drop('Salario', axis=1)
print(df)
In questo esempio, abbiamo rimosso la colonna 'Salario' dal DataFrame. L'argomento axis=1 indica che stiamo rimuovendo una colonna (invece di una riga, per cui si utilizzerebbe axis=0).
È possibile rimuovere più colonne specificando i loro nomi in una lista.
# Rimozione di più colonne
df = df.drop(['Età', 'Bonus'], axis=1)
print(df)
Aggiungere righe a un DataFrame Pandas
Aggiungere righe a un DataFrame può essere utile quando si desidera espandere il dataset con nuovi record.
Uno dei metodi più comuni per aggiungere righe a un DataFrame è utilizzare il metodo append.
# Nuova riga da aggiungere
nuova_riga = pd.Series({'Nome': 'Marco', 'Età': 35, 'Salario': 55000})
# Aggiunta della nuova riga
df = df.append(nuova_riga, ignore_index=True)
Per aggiungere più righe contemporaneamente è possibile passare un altro DataFrame al metodo append.
# Nuovo DataFrame da aggiungere
nuovi_dati = pd.DataFrame({
'Nome': ['Laura', 'Giorgio'],
'Età': [29, 40],
'Salario': [60000, 52000]
})
# Aggiunta delle nuove righe
df = df.append(nuovi_dati, ignore_index=True)
Rimuovere righe da un DataFrame
Un metodo comune per rimuovere righe è filtrare quelle che soddisfano una certa condizione.
# Rimozione di righe con condizione
df = df[df['Età'] > 25
In questo caso, abbiamo rimosso tutte le righe in cui l'età è inferiore o uguale a 25.
È possibile rimuovere righe specifiche utilizzando il loro indice.
# Rimozione di una riga per indice
df = df.drop(0)