Remplacer enregistrement dans un dataframe

Fermé
chaldeen - Modifié le 30 mars 2021 à 15:59
jee pee Messages postés 40470 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 novembre 2024 - 1 avril 2021 à 11:44
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 !
A voir également:

2 réponses

jee pee Messages postés 40470 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 novembre 2024 9 427
30 mars 2021 à 16:36
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

1
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
0
jee pee Messages postés 40470 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 novembre 2024 9 427
Modifié le 1 avril 2021 à 11:44
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
0