Du bist nie auf die gelieferten Daten festgelegt. Stattdessen kannst du einem DataFrame neue Spalten hinzufügen. Das wird auch als Transformieren, Mutieren oder Feature Engineering bezeichnet.
Du kannst neue Spalten komplett neu anlegen oder aus bestehenden Spalten ableiten, zum Beispiel indem du Spalten addierst oder Einheiten umrechnest.
Eine Spalte ableiten
Angenommen, du arbeitest mit einem Hunder-Datensatz und möchtest eine neue Spalte mit der Größe jedes Hundes in Metern statt in Zentimetern hinzufügen.
Links vom Gleichheitszeichen verwendest du eckige Klammern mit dem Namen der neuen Spalte, hier height_m. Rechts davon steht die Berechnung.
name breed color height_cm weight_kg date_of_birth height_m
0 Bella Labrador Brown 56242013-07-010.561 Charlie Poodle Black 43242016-09-160.432 Lucy Chow Chow Brown 46242014-08-250.463 Cooper Schnauzer Gray 49172016-09-160.494 Max Labrador Black 59292016-09-160.595 Stella Chihuahua Tan 1822016-09-160.186 Bernie St. Bernard White 77742016-09-160.77Bereitgestellt von
Du siehst, dass sowohl die ursprüngliche als auch die abgeleitete Spalte im veränderten DataFrame vorhanden sind.
Eine Spalte hinzufügen
In diesem Beispiel berechnest du den Doggy-Massenindex und fügst ihn als Spalte zu deinem DataFrame hinzu. BMI steht für Body-Mass-Index und wird berechnet als Gewicht in Kilogramm geteilt durch die Körpergröße in Metern zum Quadrat.
dogs["height_m"]= dogs["weight_kg"]/ dogs["height_m"]**2print(dogs.head())Bereitgestellt von
name breed color height_cm weight_kg date_of_birth height_m bmi
0 Bella Labrador Brown 56242013-07-010.5676.5306121 Charlie Poodle Black 43242016-09-160.43129.7998922 Lucy Chow Chow Brown 46242014-08-250.46113.4215503 Cooper Schnauzer Gray 49172016-09-160.4970.8038324 Max Labrador Black 59292016-09-160.5983.309394Bereitgestellt von
Auch hier steht die neue Spalte links vom Gleichheitszeichen, nur dass die Berechnung diesmal zwei Spalten einbezieht.
Eine Spalte mit mehreren Schritten hinzufügen
Die wahre Stärke von pandas zeigt sich, wenn du die bisher gelernten Fähigkeiten kombinierst. Finden wir die Namen schlanker, großer Hunde heraus.
Definiere zuerst die schlanken Hunde, indem du die Teilmenge mit einem BMI unter 100 auswählst. Dann sortierst du nach der Größe absteigend, sodass die größten schlanken Hunde oben stehen.
Zum Schluss behältst du nur die Spalten, die dich interessieren.
bmi_lt_100 = dogs[dogs["bmi"]<100]
bmi_lt_100_height = bmi_lt_100.short_values("height_cm", ascending=False)
bmi_lt_100_height[["name","height_cm","bmi"]]Bereitgestellt von
name height_cm bmi
4 Max 5983.3093940 Bella 5676.5306123 Cooper 4970.8038325 Stella 1861.728395Bereitgestellt von
Hier siehst du, dass Max der größte Hund mit einem BMI unter 100 ist.
Interaktives Beispiel
Im folgenden Beispiel fügst du dem DataFrame homelessness eine neue Spalte total hinzu, die die Summe der Spalten individuals und family_members enthält. Danach ergänzt du eine weitere Spalte p_individuals mit dem Anteil der obdachlosen Personen je Bundesstaat, die Einzelpersonen sind. Abschließend gibst du den homelessness-DataFrame aus.
# Add total col as sum of individuals and family_members
homelessness["total"]= homelessness["individuals"]+ homelessness["family_members"]# Add p_individuals col as proportion of individuals
homelessness["p_individuals"]= homelessness["individuals"]/ homelessness["total"]# See the resultprint(homelessness)Bereitgestellt von
Beim Ausführen des Codes erhältst du folgende Ausgabe:
region state individuals family_members state_pop total p_individuals
0 East South Central Alabama 2570.0864.048876813434.00.7481 Pacific Alaska 1434.0582.07351392016.00.7112 Mountain Arizona 7259.02606.071580249865.00.7363 West South Central Arkansas 2280.0432.030097332712.00.8414 Pacific California 109008.020964.039461588129972.00.8...48 South Atlantic West Virginia 1021.0222.018042911243.00.82149 East North Central Wisconsin 2740.02167.058074064907.00.55850 Mountain Wyoming 434.0205.0577601639.00.679Bereitgestellt von
Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Du kannst DataFrames von einem breiten in ein langes Format umwandeln, Zeilen und Spalten stapeln und entstapeln sowie Multi-Index-DataFrames bearbeiten.
Du bist nie auf die gelieferten Daten festgelegt. Stattdessen kannst du einem DataFrame neue Spalten hinzufügen. Das wird auch als Transformieren, Mutieren oder Feature Engineering bezeichnet.
Du kannst neue Spalten komplett neu anlegen oder aus bestehenden Spalten ableiten, zum Beispiel indem du Spalten addierst oder Einheiten umrechnest.
Eine Spalte ableiten
Angenommen, du arbeitest mit einem Hunder-Datensatz und möchtest eine neue Spalte mit der Größe jedes Hundes in Metern statt in Zentimetern hinzufügen.
Links vom Gleichheitszeichen verwendest du eckige Klammern mit dem Namen der neuen Spalte, hier
height_m. Rechts davon steht die Berechnung.Du siehst, dass sowohl die ursprüngliche als auch die abgeleitete Spalte im veränderten DataFrame vorhanden sind.
Eine Spalte hinzufügen
In diesem Beispiel berechnest du den Doggy-Massenindex und fügst ihn als Spalte zu deinem DataFrame hinzu. BMI steht für Body-Mass-Index und wird berechnet als Gewicht in Kilogramm geteilt durch die Körpergröße in Metern zum Quadrat.
Auch hier steht die neue Spalte links vom Gleichheitszeichen, nur dass die Berechnung diesmal zwei Spalten einbezieht.
Eine Spalte mit mehreren Schritten hinzufügen
Die wahre Stärke von pandas zeigt sich, wenn du die bisher gelernten Fähigkeiten kombinierst. Finden wir die Namen schlanker, großer Hunde heraus.
Definiere zuerst die schlanken Hunde, indem du die Teilmenge mit einem BMI unter 100 auswählst. Dann sortierst du nach der Größe absteigend, sodass die größten schlanken Hunde oben stehen.
Zum Schluss behältst du nur die Spalten, die dich interessieren.
Hier siehst du, dass
Maxder größte Hund mit einem BMI unter 100 ist.Interaktives Beispiel
Im folgenden Beispiel fügst du dem DataFrame
homelessnesseine neue Spaltetotalhinzu, die die Summe der Spaltenindividualsundfamily_membersenthält. Danach ergänzt du eine weitere Spaltep_individualsmit dem Anteil der obdachlosen Personen je Bundesstaat, die Einzelpersonen sind. Abschließend gibst du denhomelessness-DataFrame aus.Beim Ausführen des Codes erhältst du folgende Ausgabe:
Probier es selbst aus.
Sieh dir auch DataCamps Tutorial zu Spalten in pandas löschen an.
Wenn du mehr über das Hinzufügen neuer Spalten in pandas lernen möchtest, schau dir dieses Video aus unserem Kurs Data Manipulation with pandas an.
Dieser Inhalt stammt aus dem DataCamp-Kurs Data Manipulation with pandas von Maggie Matsui und Richie Cotton.