Ermitteln der Kleinsten Werte Einer Spalte
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 Sie die fünfzehn ältesten Autos abrufen:
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 wenn 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())
Vergleich der beiden folgenden Beispiele. Nun wird die Funktion etwas erweitert. Die Rückgabe erfolgt anhand der Werte der Spalte 'Year'. In dieser Spalte können sich die Werte für 'Year' wiederholen. Möchte man mit der bisherigen Syntax die zehn ältesten Autos ausgeben, gibt die Funktion lediglich zehn Werte zurück, unabhängig davon, ob der 11. oder 12. Wert identisch mit dem 10. ist. Um solche Fälle zu vermeiden, kann das Argument keep = 'all' in die Methode .nsmallest() eingefügt werden. Das folgende Beispiel zeigt dies; die Ausführung verdeutlicht den Unterschied:
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)
Swipe to start coding
Folgen Sie hier diesem Algorithmus:
- Abrufen von 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. - Ausgeben 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
Can you explain what the `keep='all'` argument does in more detail?
How does `.nsmallest()` differ from sorting and slicing the DataFrame?
Can I use `.nlargest()` in a similar way to get the newest cars?
Awesome!
Completion rate improved to 3.03
Ermitteln der Kleinsten Werte Einer Spalte
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 Sie die fünfzehn ältesten Autos abrufen:
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 wenn 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())
Vergleich der beiden folgenden Beispiele. Nun wird die Funktion etwas erweitert. Die Rückgabe erfolgt anhand der Werte der Spalte 'Year'. In dieser Spalte können sich die Werte für 'Year' wiederholen. Möchte man mit der bisherigen Syntax die zehn ältesten Autos ausgeben, gibt die Funktion lediglich zehn Werte zurück, unabhängig davon, ob der 11. oder 12. Wert identisch mit dem 10. ist. Um solche Fälle zu vermeiden, kann das Argument keep = 'all' in die Methode .nsmallest() eingefügt werden. Das folgende Beispiel zeigt dies; die Ausführung verdeutlicht den Unterschied:
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)
Swipe to start coding
Folgen Sie hier diesem Algorithmus:
- Abrufen von 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. - Ausgeben aller Werte des Datensatzes
data_cheapest.
Lösung
Danke für Ihr Feedback!
single