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 :
def f(row):
if row['A'] == row['B']:
val = 0
elif row['A'] > row['B']:
val = 1
else:
val = -1
return val
Ensuite, appliquez-le au dataframe le long des lignes :
df['C'] = df.apply(f, axis=1)
Approche vectorisée
L'approche vectorisée utilise np.where pour créer directement la nouvelle colonne :
df['C'] = np.where(
df['A'] == df['B'], 0, np.where(
df['A'] > df['B'], 1, -1))
Cette approche est plus efficace pour les grands ensembles de données.
Voici un exemple utilisant le dataframe fourni :
Cadre de données d'entrée
A | B |
---|---|
2 | 2 |
3 | 1 |
1 | 3 |
Frame de données de sortie
A | B | C |
---|---|---|
2 | 2 | 0 |
3 | 1 | 1 |
1 | 3 | -1 |
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3