Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich mit Python eine bedingte Spalte basierend auf mehreren Bedingungen in einem DataFrame?

Wie erstelle ich mit Python eine bedingte Spalte basierend auf mehreren Bedingungen in einem DataFrame?

Linda Hamilton
Linda HamiltonOriginal
2024-10-20 06:52:02763Durchsuche

How to Create a Conditional Column Based on Multiple Conditions in a DataFrame Using Python?

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 :

  • Wenn „A“ gleich „B“ ist, setzen Sie „C“ auf 0.
  • Wenn „A“ größer als „B“ ist, setzen Sie „C“ auf 1.
  • Wenn „A“ kleiner als „B“ ist, setzen Sie „C“ auf -1.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn