bonjour en python, quel code retourne tout ce qui n'est pas de type " int" dans une colonne " y" d'un .csv "df" (importé via pandas sur un jupyter notebook) ?
merci de votre aide
- Edité par Marie L. (DS) 6 novembre 2022 à 17:34:25
Tu peux essayer d'itérer sur les lignes de ton CSV et regarder si tu arrives à convertir la valeur souhaitée en int et attraper l'exception si ça échoue, et ainsi récupérer toutes les valeurs invalides.
Tu peux essayer d'itérer sur les lignes de ton CSV et regarder si tu arrives à convertir la valeur souhaitée en int et attraper l'exception si ça échoue, et ainsi récupérer toutes les valeurs invalides.
merci peux tu me donner la ligne de code en l occurrence pour faire ce qu'en theorie tu m expliques ? (tel que "df" = mon dataframe, et "y" = nom colonne) sur jupyter notebook ? je pose la question "concrete" car ne sais pas malgré la lecture de la documentation --_--
aussi, quelle ligne de code pour "supprimer tout ce qui n'est pas des valeurs de type "INT" dans une colonne ?
- Edité par Marie L. (DS) 7 novembre 2022 à 14:11:05
Pour la suite je te conseille de t'orienter vers un cours sur le Python pour voir comment cela peut être réalisé.
merci , j'ai fait le cours Python OC mais cela ne m'aide pas à résoudre cette question que je me suis posée
; si tu connais la réponse peux tu me donner le code svpl ? c'est pour comprendre et pouvoir m'entraîner.. tu n'imagines pas le nombre d'heures (de jours) que tu me ferais gagner si tu pouvais répondre "concrètement" à ma question
internet est un océan de données.. et si j'en viens à poser ma question ici , sur le forum d'"entraide", c'est que j'ai passé plus de 5 h à chercher en vain donc je pose ici la question et souhaiterais une réponse non pas théorique mais concrète la plus complète possible stpl
sinon : qui peut me répondre svp ? merci de votre aide sur ce forum dont l'intérêt est de s'entraider
- Edité par Marie L. (DS) 8 novembre 2022 à 13:42:28
quels sont les valeurs (des exemples) qui ne sont pas int dans ta colonne ? ça fait suite à question sur la conversion en int d'une colonne ?
est-ce que ces lignes se situent au début du fichier ? les autres colonnes des lignes qui n'ont pas de valeurs entières on en fait quoi ? (suppression de la ligne ou remplacer la valeur non entière par une valeur entière (0,-1,NaN, ...) ?
Ce que j'ai dit n'est pas du tout théorique, mais d'un côté on n'a pas ton code sous les yeux donc on ne sait pas comme tu t'y prends pour traiter les lignes de ton CSV, et de l'autre c'est effectivement un forum d'entraide mais il ne faut pas t'attendre à ce que l'on fasse la boulot à ta place.
Donc ma réponse reste la même, dans le traitement que tu fais sur les lignes de ton CSV il faut tenter la conversion de la valeur en int pour voir si cela lancer une exception ou non.
Tu peux facilement écrire une fonction is_number qui prend une chaîne de caractères en argument, teste la conversion et renvoie True si ça passe, False si ça échoue.
Je bute sur l'exercice python pour calculer les salaires. J'arrive la premiere partie mais pas moyen de réussir a écrire les données dans mon nouveau fichier ...
Mon code encore brouillon. Je réalise que j'aurai pu crée deux fonctions pour que ça soit plus claire, une pour lire et une écrire. Si qqun peut m'aiguiller sur ce que je loupe sans me donner la réponse directe j'aimerai trouver seul.
Bien à vous
import csv
# Ecrivez le code ci-dessous. Utilisez le package csv !
#Premiere étape on lit le fichier input
en_tete = ['nom','heures_travaillees']
with open("input.csv","r+") as fichier_heure:
reader = csv.DictReader(fichier_heure, delimiter=',')
write = csv.DictWriter(fichier_heure,fieldnames=en_tete, delimiter=',')
for lines in fichier_heure:
print(lines)
#je verirfie que tout est bon jusqu'ici tout va bien
#c'est ici que je commence à m'enmeler j'arrive a crée le fichier output.cvs mais pas moyen d'écrire les données dedans, j'ai juste les entetes qui s'affiche
with open ('output.csv','w') as fichier_salaires:
fild_names = ["nom","salaire"]
cvs_writer = csv.DictWriter(fichier_salaires, fieldnames = fild_names, delimiter=",")
for lines2 in reader:
cvs_writer.writerow([nom,heure_travaillees*15])
La 1ère partie tu n'affiches que les lignes (pas besoin de writer dans cette partie), de ce fait, le curseur de lecture se déplace à la fin
Dans la 2nde partie, tu utilise bien le reader de la 1ère partie, mais le nom de tes variables ligne2 et ligne dans la boucle ne correspondent à rien (tu dois avoir une erreur dessus)
Merci umfred de ta réponse. J'ai modifié un peu le code mais j'arrive à un resultat bizarre :
import csv
# Ecrivez le code ci-dessous. Utilisez le package csv !
#Premiere étape on lit le fichier input
en_tete = ['nom','heures_travaillees']
with open("input.csv","r+") as fichier_heure:
reader = csv.DictReader(fichier_heure, delimiter=',')
with open ('output.csv','w') as fichier_salaires:
cvs_writer = csv.DictWriter(fichier_salaires, fieldnames = en_tete, delimiter=",")
for lines in reader:
cvs_writer.writerow(lines)
Maintenant mon fichier output ressemble à ceci : Pierre Durand,36
Paul Dupont,41
Edouard Gentil,40
nom,heures_travaillees
nom,salaire.
Je ne comprends pas pourquoi il me met les entete à la fin et d'où peut t'il bien sortir "salaire" qui n'est plus dans le code. D'un point de vu algorithmique une fois les données récupéré dans le fichier output je voudrai remplacer "heures_travaillées" par "salaire" et très certainement avec une boucle for appliqué *15 a chaque nombre dans la colonne.
J'ai commencé le cours "Apprenez les bases du langage Python" et tout se passe bien sauf sur la partie exercice proposée à la fin de certains chapitres. Quand je me rends sur le lien donné (P1C4/P1c3 etc.), je peux créer mes variables, appuyer sur entrée mais rien ne s'affiche jamais dans le terminal proposé... J'ai beau ne pas me tromper dans la formulation de print (quand je fais l'exercice dans mon propre terminal ou sur Cygwin tout fonctionne très bien et tout s'affiche très bien). Mais sur l'outil en ligne impossible de voir la moindre ligne de code dans le terminal proposé. Quelqu'un pour m'aider à comprendre pourquoi ?
le bouton bleu Run tout en bas fait exécuté le script, et le résultat s'affichera dans la partie basse "terminal" (terminal est différente d'interpréteur python)
Je suis un débutant, j'aimerais comprendre comment cliquer sur un bouton( créer avec une fonction rectangle)par exemple play pour rentrer dans une autre page j'utilise le module FLTK
rectangle (...,tag='b')
ev= donne_ev
tev=type_ev()
If tev=='ClicGauche' in 'b':
-Pour afficher une autre page
Et c'est après je sais pas qu'est-ce qu'il faut faire merci de m'aider j'ai besoin pour un projet.
j’ai un jeu à faire et je n’y arrive pas malgré mes plusieurs tentative.
la Règle du jeu est la suivant:
un joueur joue contre un ordinateur. le joueur lance le nombre de fois qu’il veut le dés. A la fin la somme des nombres de fois qu’il a lancé le des ne doit pas faire plus que 21 et de même pour l’ordinateur.
je suis preneuse de toute aide!!
merci à toute personne qui prend le temps de lire ou me répondre
Qu'est-ce que tu as fait jusqu'ici (le meilleur) ? Essaies: from random import choice de = choice(range(1, 6+1)) Tu auras sans doute besoin d'une boucle while ...
Le Tout est souvent plus grand que la somme de ses parties.
j’ai fait des variable une avec le nombre 21 et une autre pour le des à 6 face et j’ai fait une boucle while qui n’est pas egale a 21 j’aimerais que cette boucle while contient le nombre des des lancés et des propositions avec des if. le seul problème c’est vraiment la partie de ses lances qui doit être additionné et ne pas dépasser 21
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
Le Tout est souvent plus grand que la somme de ses parties.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
Maintenant mon fichier output ressemble à ceci : Pierre Durand,36
Le Tout est souvent plus grand que la somme de ses parties.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique