Ich habe einen Datenrahmen mit Ländernamen & deren Prozentsatz der Energieabgabe. Ich muss eine neue Spalte hinzufügen, die eine 1 oder 0 zuweist, abhängig davon, ob der Energieoutput des Landes über oder unter dem Median der Energieabgabe liegt. Einige Dummy-Code ist:Pandas DataFrame - 1,0 Werte basierend auf anderen Spalte zuweisen
import pandas as pd
def answer():
df = pd.DataFrame({'name':['china', 'america', 'canada'], 'output': [33.2, 15.0, 5.0]})
df['newcol'] = df.where(df['output'] > df['output'].median(), 1, 0)
return df['newcol']
answer()
der Code gibt Valueerror: Falsche Anzahl von Artikel 2 geführt, Platzierung bedeutet 1
ich so das Gefühl ist eine unglaublich einfache Lösung, aber ich bin neu in der Arbeit mit Pandas. Bitte helfen Sie meine Frust zu beenden
Hmmm, es gibt immer - warum habe ich nicht daran gedacht :) – Vaishali
vielen Dank! Ich hatte boolesche Maskierung versucht, aber ich hatte Mühe, die zurückgegebenen True | False-Werte neu zu formatieren. Ich bin den Pandas sehr neu und es fällt mir schwer, die gesamte Dokumentation zu lernen. du und @Vaishali waren sehr informativ :) –