single
Finding the Smallest Values of a Column
Swipe um das Menü anzuzeigen
Sie lernen eine weitere wichtige Funktion kennen, die die kleinsten oder größten Werte ausgibt. Sie wissen bereits, dass wir Werte sortieren und dann eine bestimmte Anzahl von Zeilen extrahieren können. Wenig überraschend kann pandas dies mit nur einer Codezeile erledigen. Sehen Sie sich das Beispiel an, wie die fünfzehn ältesten Autos abgerufen werden:
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))
Wenn Sie nach einer Spalte und anschließend nach einer weiteren sortieren möchten, geben Sie einfach eine Liste mit den Spaltennamen in der gewünschten Reihenfolge an. Sehen Sie sich das Beispiel an, in dem wir zuerst nach 'Year' und dann nach 'Engine_volume' sortieren. Dieser Code extrahiert zunächst die 5 ältesten Autos, und falls die Jahre übereinstimmen, erhält das Auto mit dem kleineren Wert in der Spalte 'Engine_volume' den Vorrang:
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())
Vergleiche die beiden folgenden Beispiele. Nun erweitern wir die Funktion etwas. Wir geben unsere Beispiele mit den Werten der Spalte 'Year' zurück. In unserer Spalte können die Werte von 'Year' mehrfach vorkommen. Wenn wir also mit der bisherigen Syntax die zehn ältesten Autos ausgeben möchten, nimmt unsere Funktion einfach zehn Werte, unabhängig davon, ob der 11. oder 12. Wert identisch mit dem 10. ist. Um solche Fälle zu vermeiden, können wir das Argument keep = 'all' in die Methode .nsmallest() einfügen. Sieh dir das Beispiel an und führe es aus, um den Unterschied zu erkennen:
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)
Wischen, um mit dem Codieren zu beginnen
Folgen Sie hier diesem Algorithmus:
- Abrufen der Daten zu Autos, bei denen die Werte der Spalte
'Year'größer als2010sind. - Extrahieren der günstigsten
15Autos (die15kleinsten Werte der Spalte'Price'). Alle doppelten Werte der Spalte'Price'einschließen. - Ausgabe aller Werte des Datensatzes
data_cheapest.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen