-2
votes

Ajouter une colonne en fonction de plusieurs conditions

J'ai un problème idiot. Mon df code> ressemble à ceci: xxx pré>

J'ai défini la fonction et la commande suivantes: p>

    DO   
14  1  
15  0  
13  0  
17  0 


3 commentaires

Non lié à l'erreur, mais df.apply (Lambda Row: DemiseDO (rangée), axe = 1) est identique à df.apply (DemiseDO, axe = 1)


Si test premier état, obtenez des valeurs avec imprimé ((ligne ['qh_sta']) / ligne ['qh_fid2']) - 0.470588235294170588235294176470587058823529416, 0.17647058823529413


Tous vos cas tombent dans le premier si Déclaration


3 Réponses :


1
votes

Peut-être np.where; xxx


0 commentaires

1
votes

Mais vous devriez obtenir xxx pré>

en effet. p>

Regardez à nouveau vos valeurs. P>

    8 / 17 IS < 0.8
    6 / 17 IS < 0.8
    3 / 17 IS < 0.8


2 commentaires

Dans la deuxième rangée, il y a une condition 8 + 6 et dans la troisième 8 + 6 + 3


Mais vous retournez la valeur avant 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.



2
votes

Je crois que vous pouvez tester chaque condition avec toutes les colonnes en boucle, qu'est-ce qui est lent: xxx

puis besoin de colonnes de chaîne avec et par et < / Code> Pour assorti si toutes les conditions sont true : xxx


2 commentaires

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 est telle que je m'attends à obtenir