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:
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
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
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
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
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
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
np.where
für bedingte logische ZuweisungSie 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
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
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
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
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)
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
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!