Création d'une colonne avec des conditions If-Else-Else dans Pandas
Pour créer une nouvelle colonne basée sur une condition if-elif-else , il existe deux approches principales :
Approche non vectorisée
Cette approche consiste à définir une fonction qui opère sur les lignes :
<code class="python">def f(row): if row['A'] == row['B']: val = 0 elif row['A'] > row['B']: val = 1 else: val = -1 return val</code>
Ensuite , appliquez-le au dataframe le long des lignes :
<code class="python">df['C'] = df.apply(f, axis=1)</code>
Approche vectorisée
L'approche vectorisée utilise np.where pour créer directement 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 plus efficace pour les grands ensembles de données.
Voici un exemple utilisant le dataframe fourni :
Input DataFrame
A | B |
---|---|
2 | 2 |
3 | 1 |
1 | 3 |
DataFrame de sortie
A | B | C |
---|---|---|
2 | 2 | 0 |
3 | 1 | 1 |
1 | 3 | -1 |
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!