J'ai un problème idiot. Mon J'ai défini la fonction et la commande suivantes: p> df code> ressemble à ceci:
DO
14 1
15 0
13 0
17 0
3 Réponses :
Peut-être np.where;
Mais vous devriez obtenir en effet. p> Regardez à nouveau vos valeurs. P> 8 / 17 IS < 0.8
6 / 17 IS < 0.8
3 / 17 IS < 0.8
Dans la deuxième rangée, il y a une condition 8 + 6 code> et dans la troisième
8 + 6 + 3 code>
Mais vous retournez la valeur avant i> atteignant même cette condition. Vous n'atteignez même pas cette condition dans votre code. Ajoutez une impression () s pour voir ce qui se passe.
Je crois que vous pouvez tester chaque condition avec toutes les colonnes en boucle, qu'est-ce qui est lent: puis besoin de colonnes de chaîne avec et code> par
et < / Code> Pour assorti si toutes les conditions sont
true code>: p>
Je m'excuse. Pourriez-vous vous demander de répéter pour le DF édité au début? Cela explique pourquoi ma sortie attendue était de 1 0 0
Mais votre réponse est correcte. La colonne do code> est telle que je m'attends à obtenir
Non lié à l'erreur, mais
df.apply (Lambda Row: DemiseDO (rangée), axe = 1) code> est identique à
df.apply (DemiseDO, axe = 1) code>
Si test premier état, obtenez des valeurs
avec
imprimé ((ligne ['qh_sta']) / ligne ['qh_fid2']) code> -
0.470588235294170588235294176470587058823529416, 0.17647058823529413 code>
Tous vos cas tombent dans le premier
si code> Déclaration