Path: csiph.com!xmission!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!buffer1.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Tue, 26 Jul 2022 08:37:34 -0500 Newsgroups: fr.comp.lang.python Subject: Re: Comparer deux colonnes avec pandas X-poster: PEAR::Net_NNTP v1.5.0 (stable) From: gigi123 References: <2-2dnS_nEYtNSkL_nZ2dnUU7_83NnZ2d@giganews.com> <87o7xcauid.fsf@universite-de-strasbourg.fr.invalid> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Organization: !No_Organization! Message-ID: Date: Tue, 26 Jul 2022 08:37:34 -0500 Lines: 116 X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-ep0dneZUj1eAi66dONchvsmylMzsSaI29X/LU0RJxCPUHr7Y5ltLAxdMp2yTmcchxFTq44cdwpeler0!VgoxbWFl4ZgvXF2kwdHhF9vRi+2YZs0fYFJUno83SeUXB1NU698gv6kxt47nSJZpnfnbFeDRr4Oi X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Lines: 114 X-Original-Bytes: 4997 Xref: csiph.com fr.comp.lang.python:3917 Le mardi 26 Juillet 2022 à 15:11 par Alain Ketterlin : > gigi123 > > [...] >> 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... Bonjour Alain, Je réexplique : J'ai 3 colonnes, la colonne A représente le nom des produits la colonne B représente le nom des produits la colonne C représente la catégorie des produits Si le nom du produit dans la colonne A = au nom du produit Colonne B (même ligne) alors le résultat sera la catégorie affiché à la colonne C (même ligne). Mais s'il ne trouve pas l'égalité, j'incrémente donc LA LIGNE (je me suis trompé tout à l'heure j'ai dis colonne) de la colonne B et la ligne de la colonne C En espérant que ce soit plus clair Merci à toi