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
Freigeben: 2025-01-10 09:13:46
Original
194 Leute haben es durchsucht

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:

      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
    Nach dem Login kopieren

2. Vorhandene Spalten ändern

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

  • Beispiel:

      df['B'] = [4, 5, 6]  # 替换列 'B' 中的值
      print(df)
      # 输出:
      #    A  B
      # 0  1  4
      # 1  2  5
      # 2  3  6
    Nach dem Login kopieren

Mittelstufe

3. Ausdrucksbasierte Zuordnung

  • Kann Spalten basierend auf Berechnungen oder Transformationen Werte zuweisen.

  • Beispiel:

      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
    Nach dem Login kopieren

4. Bedingte Zuweisung verwenden

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

  • Beispiel:

      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
    Nach dem Login kopieren

5. Verwenden Sie mehrere Spalten in Ausdrücken

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

  • Beispiel:

      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
    Nach dem Login kopieren

Erweitertes Kapitel

6. Vektorisierungsvorgang

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

  • Beispiel:

      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
    Nach dem Login kopieren

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

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

  • Beispiel:

      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
    Nach dem Login kopieren

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:

      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
    Nach dem Login kopieren

9. Kettenbetrieb

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

  • Beispiel:

      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
    Nach dem Login kopieren

10. Weisen Sie mehrere Spalten gleichzeitig zu

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

  • Beispiel:

      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
    Nach dem Login kopieren

Experten

11. Dynamische Spaltenzuweisung

  • Erstellen Sie Spaltennamen dynamisch basierend auf externen Eingaben.

  • Beispiel:

      columns_to_add = ['L', 'M']
      for col in columns_to_add:
          df[col] = df['A'] + df['B']
      print(df)
    Nach dem Login kopieren

12. Externe Datenzuweisung verwenden

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

  • Beispiel:

      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
    Nach dem Login kopieren

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!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage