Pandas df['column'] = expression
Explication détaillée de la syntaxe : Utilisé pour créer, modifier ou attribuer des colonnes dans Pandas DataFrame (df). Décomposons-le étape par étape, du basique au avancé.
Lorsqu'une colonne n'existe pas dans le DataFrame, attribuer une valeur à df['column']
crée une nouvelle colonne.
Exemple :
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
Si la colonne existe déjà, l'affectation remplace son contenu.
Exemple :
df['B'] = [4, 5, 6] # 替换列 'B' 中的值 print(df) # 输出: # A B # 0 1 4 # 1 2 5 # 2 3 6
Peut attribuer des valeurs aux colonnes en fonction de calculs ou de transformations.
Exemple :
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
Vous pouvez utiliser l'indexation booléenne de Pandas pour l'affectation conditionnelle.
Exemple :
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
Vous pouvez utiliser plusieurs colonnes dans une seule expression pour des calculs plus complexes.
Exemple :
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
Les affectations numériques peuvent utiliser des opérations de vectorisation pour améliorer les performances.
Exemple :
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
pour l'affectation logique conditionnelleVous pouvez utiliser NumPy pour une affectation conditionnelle.
Exemple :
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
Attribuez des valeurs aux colonnes en fonction d'une fonction personnalisée appliquée à la ligne ou à la colonne.
Exemple :
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
Plusieurs opérations peuvent être enchaînées pour rendre le code plus concis.
Exemple :
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
Utilisez assign()
pour créer ou modifier plusieurs colonnes en un seul appel.
Exemple :
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
Créez dynamiquement des noms de colonnes en fonction d'une entrée externe.
Exemple :
columns_to_add = ['L', 'M'] for col in columns_to_add: df[col] = df['A'] + df['B'] print(df)
Attribuez des valeurs aux colonnes en fonction d'un DataFrame ou d'un dictionnaire externe.
Exemple :
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
, opérations vectorisées) offre de meilleures performances que les boucles Python. df['column'] = expression
La syntaxe est la fonctionnalité principale de Pandas et a un large éventail d'utilisations. Il permet :
Cela fait de Pandas une puissante bibliothèque de manipulation et d'analyse de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!