Aller à la ligne suivante python
Ferméyg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 - 4 août 2022 à 15:32
- Aller à la ligne python
- Aller à la ligne excel - Guide
- Site de vente en ligne particulier - Guide
- Partager photos en ligne - Guide
- Apparaitre hors ligne instagram - Guide
- Citizen code python - Accueil - Outils
4 réponses
1 août 2022 à 17:58
Bonjour,
Le mieux serait d'afficher ton code complet ici avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Visuellement, ça doit ressembler à ça:
for k in range(10): print(k)
1 août 2022 à 20:49
bonjour,
Dans ton explication, tu mentionnes A, B et C, et dans ton code, tu as autre chose. Peux-tu faire un petit effort pour donner des explications correctes?
Cela veut dire quoi, "j'incrémente donc LA LIGNE"?
Donne plutôt un exemple avec les données en colonnes A , B et C, et ce que tu souhaites comme résultat.
import pandas as pds
import numpy as np
var ="sites"
resultat = pds.read_excel("C:\\Users\\utilisateur\\Downloads\\"+var+".xlsx")
df = pds.DataFrame(resultat,columns=['Libellé','Écarts de stocks'])
"""Suppression des lignes sans écarts stocks"""
df.drop(df.loc[df['Écarts de stocks']==0].index, inplace=True)
print("\n-----Extraction du site----\n")
print(df)
resultat1=pds.DataFrame(df)
print("\n-----Liste catégorie----\n")
"""Stock du deuxieme tableau"""
file ="C:\\Users\\utilisateur\\Desktop\\Analyse Monstock.xlsm"
df_2 = pds.read_excel(file)
resultat2=pds.DataFrame(df_2)
print(resultat2)
print("\n-----Concaténation des données----\n")
df_1=pds.DataFrame(resultat1,columns=['Libellé'])
df=pds.concat([df_1,resultat2],axis=1)
print(df)
print("\n-----Comparaison des données----\n")
df['Résultat']=np.where(df['colonne A']==df['Colonne B'],df['Colonne C'],df.iloc['Colonne B']+1)
print(df)
Exemple :
Colonne A ligne 1 : Papier rouge
Colonne B ligne 1 : Papier Bleu
Colonne C ligne 1: Type papier A
Si Colonne A ligne 1 n'est pas égale à la colonne B ligne 1 alors:
on regarde colonne B ligne 2 et colonne C ligne 2 (jusqu'à l'égalité)
si colonne B ligne 2 = colonne A ligne 1 alors on prends le résultat colonne C ligne 2
J'espère que j'ai été clair
Merci
2 août 2022 à 15:58
Donne plutôt des exemples avec des données en colonnes A , B et C, et ce que tu souhaites comme résultats en colonne D.
2 août 2022 à 16:44
Colonne A ligne 1 = Cadre empreinte
Colonne B ligne 1 = Boucle
Colonne C ligne 1 = Decorative
Colonne B ligne 2 = Cadre empreinte
Colonne C ligne 2 = consommables
Comme nous avons pas la colonne B ligne 1 égale à "Cadre empreinte", on descends sur la colonne B ligne 2 et colonne C ligne 2 . Cette fois ci nous avons bien Colonne A ligne 1 = Cadre empreinte == Colonne B ligne 2 = Cadre empreinte
En résultat colonne D on prendra donc le résultat affiché colonne C ligne 2 qui est consommables
Colonne D = consommables
Merci
Modifié le 2 août 2022 à 18:38
Donne un exemple plus complet, et montre-le comme un tableau.
Tu ne précises même pas en quelle ligne mettre "consommables" en colonne D.
Que met-on dans les autres lignes de la colonne D?
Je pense que tu dois faire cela via des boucles plutôt que via la fonction where().
3 août 2022 à 09:32
3 août 2022 à 09:50
Donc, pour chaque ligne N, on cherche la prochaine ligne, X, où (A, N) = (B,X), et on copie (C,X) en (D,N)?
Tu n'as pas d'idée de comment programmer cela? Maitrises-tu les boucles en Python?
Modifié le 3 août 2022 à 02:10
Bonjour,
d'après ce que je comprends...
recupColC = '' while 1: if colA == colB: colD = colC # je mets ce que je trouve dans colC pour mettre dans colD recupColC = colC break # sortie si colA = colB (en récuperant colC dans une variable) # print(recupColC)
S'il ne faut pas sortir dès la première égalité entre colA et colB alors enlever la ligne du while, ainsi que celle du break
Voir à compléter l'explication si besoin.
Cordialement,
3 août 2022 à 09:42
Tu n'as pas d'idée de comment programmer cela? Tu progresseras mieux en essayant toi-même.
3 août 2022 à 09:47
Malheureusement ce n'est pas si simple comme tu le pense. Si je demande de l'aide c'est qu'auparavant j'ai essayé plein de solution (3jours bloqués)
Pas très utile d'aller sur des forums pour répondre ça : "Tu n'as pas d'idée de comment programmer cela? Tu progresseras mieux en essayant toi-même."
Merci
3 août 2022 à 12:08
montre ce que tu as essayé.
3 août 2022 à 14:55
while 1: if df['Colonne A']==df['Colonne B']: df['Colonne D']=df['Colonne C'] break else: df['Colonne B'].index+1 and df['Colonne C'].index+1
Modifié le 2 août 2022 à 10:16