Erstellen einer bedingten Spalte basierend auf mehreren Bedingungen
Wie im angegebenen Thread erwähnt, besteht die Aufgabe darin, eine neue Spalte zu erstellen ein DataFrame basierend auf bestimmten Bedingungen. Der DataFrame enthält zwei Spalten, „A“ und „B“, und der gewünschten Spalte „C“ sollten Werte zugewiesen werden, die auf Vergleichen zwischen „A“ und „B“ basieren.
Die Bedingungen sind wie folgt :
Um dies zu erreichen, kann eine Python-Funktion erstellt werden, um die Bedingungen auszuwerten und zuzuweisen Geben Sie für jede Zeile im DataFrame den entsprechenden Wert in „C“ ein. Mit der Methode apply() kann die Funktion auf jede Zeile angewendet werden, indem das Argument „axis=1“ übergeben wird, um anzugeben, dass die Funktion auf den Zeilen ausgeführt werden soll. Der folgende Code veranschaulicht diesen Ansatz:
<code class="python">def conditional_value(row): if row['A'] == row['B']: return 0 elif row['A'] > row['B']: return 1 else: return -1 df['C'] = df.apply(conditional_value, axis=1)</code>
Dieser funktionsbasierte Ansatz bietet eine lesbare und anpassbare Möglichkeit, die bedingte Spalte zu erstellen.
Alternativ kann für eine bessere Leistung bei großen Datensätzen eine vektorisierte Spalte verwendet werden Operation kann verwendet werden:
<code class="python">df['C'] = np.where( df['A'] == df['B'], 0, np.where( df['A'] > df['B'], 1, -1))</code>
Hier wird die Funktion np.where() verwendet, um die Bedingungen auszuwerten und die entsprechenden Werte 'C' effizient zuzuweisen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich mit Python eine bedingte Spalte basierend auf mehreren Bedingungen in einem DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!