Sujet : Re: Comparer deux colonnes avec pandas
De : alain (at) *nospam* universite-de-strasbourg.fr.invalid (Alain Ketterlin)
Groupes : fr.comp.lang.pythonDate : 26. Jul 2022, 15:11:38
Autres entêtes
Organisation : Université de Strasbourg
Message-ID : <87o7xcauid.fsf@universite-de-strasbourg.fr.invalid>
References : 1 2 3 4 5 6 7
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
gigi123 <
nospam_giannivolturno5@gmail.com.invalid> writes:
[...]
Je vais mieux expliqué ^^
Hmm. C'est modérément réussi...
Exemple :
>
Colonne A j'ai une voiture rouge
Colonne B j'ai une voiture rouge
Alors comme colonne A = colonne B : on prends le résultat de la même ligne de la
3ème colonne
Que signifie "résultat" ? Qu'est ce qu'on fait de ça ? Est-ce qu'on
l'écrit dans une colonne de la même ligne ? Si oui, que doit-il y avoir
à cette place quand les deux valeurs en colonnes A et B sont différentes ?
Mais si colonne A != colonne B, on continue a chercher uniquement dans la
colonne B en incrementé celle ci (colonne B+1),
Que signifie "incrémenter une colonne" , ou "colonne B+1" ? Est-ce la
valeur dans la même ligne mais colonne suivante, ou bien la valeur dans
la ligne suivante mais la même colonne ?
dès qu'on a trouvé,
Que se passe-t-il si on ne trouve pas ?
on prends le résultat de la colonne C
Veux-tu dire "la valeur de la colonne C", ou bien le résultat (dans une
autre colonne) sur cette ligne ?
qui est à la même ligne que la colonne B égal donc on incrémente
également la colonne C
Que signifie "incrémenter la colonne C" ? J'ai l'impression que tu veux
dire "valeur de la colonne C dans la ligne ou l'on a trouvé la bonne
valeur en colonne B" ?
Je suppose que ton "résultat" est une colonne, et qu'il faut y placer
une valeur pour chaque ligne.
Reprenons un exemple avec trois colonnes et une colonne de résultat
(de valeur toujours ??? initialement) :
rouge vert V1 ???
rouge rouge V2 ???
rouge rouge V3 ???
rouge bleu V4 ???
jaune bleu V4 ???
Question : quelle doit être la valeur dans la 4e colonne pour chacune de
ces lignes ?
- ligne 1 : faut-il aller chercher la valeur V2 en ligne 2 ?
- ligne 2 : apparemment ici la colonne de résultat doit contenir V2
- ligne 3 : la colonne de résultat doit-elle contenir V2 aussi ? ou V3 ?
- ligne 4 : que doit contenir la colonne de résultat pour cette ligne ?
- ligne 5 : idem
Pour les deux dernières : "rien" n'est pas une réponse possible (la
colonne est là, il doit y avoir quelque chose dedans.
Dans tous les cas, les opérations standard de panda/numpy ne semblent
pas adaptées à ce que tu veux faire, puisqu'elles opérent en général
ligne par ligne, alors que tu sembles chercher quelque chose sur
plusieurs lignes à la fois. Il faudra parcourir explicitement les lignes
(je te laisse consulter la documentation).
-- Alain.
P/S: à propos du code présenté dans d'autres réponses : il répond
effectivement à la question (enfin, une question), mais il illustre
aussi, une fois de plus, le fait que se forcer à utiliser les opérations
de numpy peut obliger à écrire des choses incroyablement inefficaces...