single
Trovare i valori più piccoli di una colonna
Scorri per mostrare il menu
Verrà presentata un'altra funzione fondamentale, che restituisce i valori più piccoli o più grandi. È già noto che è possibile ordinare i valori ed estrarre un numero specifico di righe. Non sorprende che pandas possa farlo utilizzando una sola riga di codice. Osserva l'esempio su come recuperare le quindici auto più vecchie:
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(15, 'Year') print(data_smallest.head(15))
Per ordinare prima per una colonna e poi per un'altra, è sufficiente inserire un elenco con i nomi delle colonne nell'ordine desiderato. Osserva l'esempio in cui si ordina prima per 'Year' e poi per 'Engine_volume'. Questo codice estrarrà prima le 5 auto più vecchie e, se gli anni coincidono, avrà priorità l'auto con il valore minore nella colonna 'Engine_volume':
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(5, ['Year', 'Engine_volume']) print(data_smallest.head())
Prova a confrontare i due esempi qui sotto. Ora approfondiremo leggermente la funzione. Restituiamo i nostri esempi con i valori della colonna 'Year'. Nella nostra colonna, i valori 'Year' possono essere ripetuti, quindi se vogliamo ottenere le dieci auto più vecchie con la sintassi precedente, la funzione restituirà solo dieci valori. Non considera se l'undicesimo o il dodicesimo valore sia uguale al decimo. Possiamo inserire l'argomento keep = 'all' nel metodo .nsmallest() per evitare questi casi. Osserva l'esempio ed eseguilo per vedere la differenza:
1234567891011import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case without using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year') print(data_smallest) data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case with using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year', keep = 'all') print(data_smallest)
Scorri per iniziare a programmare
Qui, è necessario seguire il seguente algoritmo:
- Recuperare i dati sulle auto in cui i valori della colonna
'Year'sono maggiori di2010. - Estrarre le
15auto più economiche (i15valori più bassi della colonna'Price'). Includere tutti i valori duplicati della colonna'Price'. - Visualizzare tutti i valori del set di dati
data_cheapest.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione