Heim >Backend-Entwicklung >Python-Tutorial >Erklärung der Syntax „df[column] = expression' in Pandas
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.
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>
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>
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>
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>
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>
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>
np.where
für bedingte logische ZuweisungSie 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>
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>
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>
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>
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>
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>
apply
, vektorisierte Operationen) eine bessere Leistung als Python-Schleifen. df['column'] = expression
Die Syntax ist das Kernmerkmal von Pandas und hat ein breites Anwendungsspektrum. Es erlaubt:
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!