Heim >Backend-Entwicklung >Python-Tutorial >Erklärung der Syntax „df[&#column&#] = expression' in Pandas

Erklärung der Syntax „df[&#column&#] = expression' in Pandas

Patricia Arquette
Patricia ArquetteOriginal
2025-01-10 09:13:46176Durchsuche

Explanation of the syntax `df[

Detaillierte Erläuterung der

Pandas df['column'] = expression-Syntax: Wird zum Erstellen, Ändern oder Zuweisen von Spalten in Pandas DataFrame (df) verwendet. Lassen Sie uns es Schritt für Schritt aufschlüsseln, von einfach bis fortgeschritten.


Grundlagen

1. Neue Spalte erstellen

  • Wenn eine Spalte im DataFrame nicht vorhanden ist, wird durch Zuweisen eines Werts zu df['column'] eine neue Spalte erstellt.

  • Beispiel:

    <code class="language-python">  import pandas as pd
      df = pd.DataFrame({'A': [1, 2, 3]})
      print(df)
      # 输出:
      #    A
      # 0  1
      # 1  2
      # 2  3
    
      # 创建一个新列 'B',所有值都设置为 0
      df['B'] = 0
      print(df)
      # 输出:
      #    A  B
      # 0  1  0
      # 1  2  0
      # 2  3  0</code>

2. Vorhandene Spalten ändern

  • Wenn die Spalte bereits vorhanden ist, ersetzt die Zuweisung ihren Inhalt.

  • Beispiel:

    <code class="language-python">  df['B'] = [4, 5, 6]  # 替换列 'B' 中的值
      print(df)
      # 输出:
      #    A  B
      # 0  1  4
      # 1  2  5
      # 2  3  6</code>

Mittelstufe

3. Ausdrucksbasierte Zuordnung

  • Kann Spalten basierend auf Berechnungen oder Transformationen Werte zuweisen.

  • Beispiel:

    <code class="language-python">  df['C'] = df['A'] + df['B']  # 创建列 'C' 为 'A' 和 'B' 的和
      print(df)
      # 输出:
      #    A  B   C
      # 0  1  4   5
      # 1  2  5   7
      # 2  3  6   9</code>

4. Bedingte Zuweisung verwenden

  • Sie können die boolesche Indizierung von Pandas für die bedingte Zuweisung verwenden.

  • Beispiel:

    <code class="language-python">  df['D'] = df['A'].apply(lambda x: 'Even' if x % 2 == 0 else 'Odd')
      print(df)
      # 输出:
      #    A  B   C     D
      # 0  1  4   5   Odd
      # 1  2  5   7  Even
      # 2  3  6   9   Odd</code>

5. Verwenden Sie mehrere Spalten in Ausdrücken

  • Für komplexere Berechnungen können Sie mehrere Spalten in einem Ausdruck verwenden.

  • Beispiel:

    <code class="language-python">  df['E'] = (df['A'] + df['B']) * df['C']
      print(df)
      # 输出:
      #    A  B   C     D    E
      # 0  1  4   5   Odd   25
      # 1  2  5   7  Even   49
      # 2  3  6   9   Odd   81</code>

Erweitertes Kapitel

6. Vektorisierungsvorgang

  • Numerische Zuweisungen können Vektorisierungsoperationen verwenden, um die Leistung zu verbessern.

  • Beispiel:

    <code class="language-python">  df['F'] = df['A'] ** 2 + df['B'] ** 2  # 快速向量化计算
      print(df)
      # 输出:
      #    A  B   C     D    E   F
      # 0  1  4   5   Odd   25  17
      # 1  2  5   7  Even   49  29
      # 2  3  6   9   Odd   81  45</code>

7. Verwenden Sie np.where für bedingte logische Zuweisung

  • Sie können NumPy für die bedingte Zuweisung verwenden.

  • Beispiel:

    <code class="language-python">  import numpy as np
      df['G'] = np.where(df['A'] > 2, 'High', 'Low')
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G
      # 0  1  4   5   Odd   25  17   Low
      # 1  2  5   7  Even   49  29   Low
      # 2  3  6   9   Odd   81  45  High</code>

8. Verwenden Sie externe Funktionen, um Werte zuzuweisen

  • Weisen Sie Spalten Werte zu, basierend auf einer benutzerdefinierten Funktion, die auf die Zeile oder Spalte angewendet wird.

  • Beispiel:

    <code class="language-python">  def custom_function(row):
          return row['A'] * row['B']
    
      df['H'] = df.apply(custom_function, axis=1)
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H
      # 0  1  4   5   Odd   25  17   Low   4
      # 1  2  5   7  Even   49  29   Low  10
      # 2  3  6   9   Odd   81  45  High  18</code>

9. Kettenbetrieb

  • Mehrere Vorgänge können miteinander verkettet werden, um den Code prägnanter zu gestalten.

  • Beispiel:

    <code class="language-python">  df['I'] = df['A'].add(df['B']).mul(df['C'])
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H    I
      # 0  1  4   5   Odd   25  17   Low   4   25
      # 1  2  5   7  Even   49  29   Low  10   49
      # 2  3  6   9   Odd   81  45  High  18   81</code>

10. Weisen Sie mehrere Spalten gleichzeitig zu

  • Verwenden Sie assign(), um mehrere Spalten in einem Aufruf zu erstellen oder zu ändern.

  • Beispiel:

    <code class="language-python">  df = df.assign(
          J=df['A'] + df['B'],
          K=lambda x: x['J'] * 2
      )
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H    I   J   K
      # 0  1  4   5   Odd   25  17   Low   4   25   5  10
      # 1  2  5   7  Even   49  29   Low  10   49   7  14
      # 2  3  6   9   Odd   81  45  High  18   81   9  18</code>

Experten

11. Dynamische Spaltenzuweisung

  • Erstellen Sie Spaltennamen dynamisch basierend auf externen Eingaben.

  • Beispiel:

    <code class="language-python">  columns_to_add = ['L', 'M']
      for col in columns_to_add:
          df[col] = df['A'] + df['B']
      print(df)</code>

12. Externe Datenzuweisung verwenden

  • Weisen Sie Spalten Werte basierend auf einem externen DataFrame oder Wörterbuch zu.

  • Beispiel:

    <code class="language-python">  mapping = {1: 'Low', 2: 'Medium', 3: 'High'}
      df['N'] = df['A'].map(mapping)
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H    I   J   K      N
      # 0  1  4   5   Odd   25  17   Low   4   25   5  10    Low
      # 1  2  5   7  Even   49  29   Low  10   49   7  14  Medium
      # 2  3  6   9   Odd   81  45  High  18   81   9  18   High</code>

13. Leistungsoptimierung:

  • Beim Zuweisen von Werten bietet die Verwendung der integrierten Funktionen von Pandas (apply, vektorisierte Operationen) eine bessere Leistung als Python-Schleifen.

Zusammenfassung

df['column'] = expression Die Syntax ist das Kernmerkmal von Pandas und hat ein breites Anwendungsspektrum. Es erlaubt:

  • Spalten in einem DataFrame hinzufügen, ändern und manipulieren.
  • Führen Sie komplexe Berechnungen durch, einschließlich bedingungsbasierter Logik und mehrspaltiger Transformationen.
  • Verketten Sie Vorgänge und generieren Sie dynamisch neue Spalten.

Dies macht Pandas zu einer leistungsstarken Datenmanipulations- und Analysebibliothek.

Das obige ist der detaillierte Inhalt vonErklärung der Syntax „df[&#column&#] = expression' in Pandas. 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