Remplacer enregistrement dans un dataframe

Signaler
-
Messages postés
31525
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
11 avril 2021
-
Bonjour à tous,

J'ai récupéré un dataset .csv sur lequel je suis actuellement en train de travailler, mais qui est en partie incomplet. Il s'agit en fait d'un tableau de mesures pour lequel il manque 2 numéros de station, et pour travailler dessus, j'aimerais leur attribuer un n° de station afin qu'elles soient exploitables.
J'ai pris quelques données fictives plus bas pour illustrer le problème, j'aimerais par exemple que pour tous les enregistrements dont 'nom_station' == 'lyon', on attribue '03' en 'n° station'.

df :
n° station | nom_station | mesures
01...............| paris | 21
02...............| marseille | 32
...................| lyon | 23
02...............| marseille | 25

J'ai bien tenté avec des boucles ou df.where mais sans succès pour le moment.

Merci à vous !

2 réponses

Messages postés
31525
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
11 avril 2021
7 545
Bonjour,

Tu devrais ecrire un code où tu lis le fichier .csv que tu réécris ligne par ligne dans un nouveau fichier. Et sur chaque ligne découper les champs, après il ne reste qu'à tester les valeurs.

Proposes nous ce code pour que nous jetions un coup d'oeil.

Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼
permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature.
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Bonjour, merci pour votre réponse, par contre, je ne comprends pas vraiment l'étape "Et sur chaque ligne découper les champs, après il ne reste qu'à tester les valeurs." Pouvez-vous m'en dire plus.

Sinon, cela pourra-t-il se faire par une manip SQL une fois que toutes ces données seront ajoutées dans une table de BDD ?

Merci
Messages postés
31525
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
11 avril 2021
7 545
En python, on peut découper chaque ligne lue du fichier texte en plusieurs champs qui correspondent aux colonnes.
Et après tester col[0] et col[1] pour remplacer col[0]

La correction peut aussi se faire après chargement, en sql