J'essaie d'utiliser une ligne de condition à la ligne et si true changez une variable dans ma ligne de Dataframe à la ligne.
Voici quelques données d'échantillons: P>
grade new_grade pred1 pred2 pred3 0 1 1 yes yes-x yes 1 2 1 no-x yes-x no-x 2 3 3 no yes yes
3 Réponses :
Dans votre cas, nous pouvons utiliser contient code>
Existe-t-il un moyen de faire fonctionner cela si disons que j'ai ajouté un PRD4 qui n'a que NP.Nan? Existe-t-il un moyen d'obtenir le même résultat en ajoutant dans cette colonne?
Nous pouvons utiliser Sortie forte> p> sortie avec df.filter code> pour obtenir tous les colonnes code> et vérifier si elles contiennent un
x code>. Ensuite, utilisez
np.where code> pour soustraire conditionnellement 1 à partir de
grade code> avec
.SUB code>:
nan code>: p>
Existe-t-il un moyen de faire fonctionner cela si disons que j'ai ajouté un PRD4 qui n'a que NP.Nan? Existe-t-il un moyen d'obtenir le même résultat en ajoutant dans cette colonne?
Oui, voir Modifier @jake. La méthode .All code> skips
nan code> Par défaut, voir
Essayez ceci:
cond1 = df.pred1.str.endswith('x') cond2 = df.pred2.str.endswith('x') cond3 = df.pred3.str.endswith('x') df['new_grad'] = df['grade'].where(~(cond1 & cond2 & cond3), df['grade'] - 1)
Existe-t-il un moyen de faire fonctionner cela si disons que j'ai ajouté un PRD4 qui n'a que NP.Nan? Existe-t-il un moyen d'obtenir le même résultat en ajoutant dans cette colonne?
@Jake, dépend, si vous ne prenez pas compte de cette nouvelle colonne, la solution devrait alors fonctionner.
Désolé j'ai foiré la sortie souhaitée. C'est correct maintenant