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
avecimprimé ((ligne ['qh_sta']) / ligne ['qh_fid2']) code> -0.470588235294170588235294176470587058823529416, 0.17647058823529413 code>Tous vos cas tombent dans le premier
si code> Déclaration