Création d'une colonne basée sur une logique conditionnelle en Python
Lorsque nous travaillons avec Pandas DataFrames, nous rencontrons souvent des scénarios dans lesquels nous devons créer un nouveau colonne basée sur une vérification conditionnelle entre les colonnes existantes. Ceci peut être réalisé en utilisant la fonction np.where avec des conditions imbriquées.
Pour illustrer, considérons le DataFrame suivant :
<code class="python">import pandas as pd df = pd.DataFrame({ "A": [2, 3, 1], "B": [2, 1, 3] })</code>
Nous souhaitons créer une nouvelle colonne C basée sur les critères suivants :
Utilisation d'une fonction personnalisée
Une approche consiste à créer une fonction personnalisée qui implémente la logique conditionnelle et à l'appliquer au DataFrame :
<code class="python">def f(row): if row['A'] == row['B']: return 0 elif row['A'] > row['B']: return 1 else: return -1 df['C'] = df.apply(f, axis=1)</code>
Utilisation de np.where
Alternativement, nous pouvons utiliser la fonction np.where pour attribuer directement des valeurs à la nouvelle colonne :
<code class="python">df['C'] = np.where(df['A'] == df['B'], 0, np.where(df['A'] > df['B'], 1, -1))</code>
Cette approche est vectorisée et plus efficace pour les grands ensembles de données.
Résultat :
Les deux approches produisent le résultat suivant :
<code class="python">print(df) A B C 0 2 2 0 1 3 1 1 2 1 3 -1</code>
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!