Renommer les catégories d'une colonne dans un dataframe
Résolu/Fermé
FerhatYous
Messages postés
20
Date d'inscription
jeudi 24 février 2022
Statut
Membre
Dernière intervention
8 août 2022
-
Modifié le 17 mars 2022 à 12:41
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 - 18 mars 2022 à 17:11
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 - 18 mars 2022 à 17:11
A voir également:
- Renommer colonne dataframe
- Déplacer une colonne excel - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
2 réponses
mamiemando
Messages postés
33407
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
29 novembre 2024
7 807
Modifié le 17 mars 2022 à 13:03
Modifié le 17 mars 2022 à 13:03
Bonjour,
Merci de fournir des exemples minimaux et directement réutilisables, en suivant https://forums.commentcamarche.net/forum/affich-37548300-extraire-des-lignes-d-un-dataframe#3 ce genre de modèle afin qu'on ne galère pas à charger de notre côté tes données d'exemple.
Merci également de formater ton message et de soigner l'orthographe :
J'ai reformaté ton message en conséquence, j'espère ne pas avoir commis d'erreur (notamment tes noms de colonnes semblaient incorrects).
Bref, en repartant de ton message corrigé, ton code devrait être corrigé ainsi :
... ce qui donne :
... mais à mon avis ce serait mieux d'utiliser
Bonne chance
Merci de fournir des exemples minimaux et directement réutilisables, en suivant https://forums.commentcamarche.net/forum/affich-37548300-extraire-des-lignes-d-un-dataframe#3 ce genre de modèle afin qu'on ne galère pas à charger de notre côté tes données d'exemple.
Merci également de formater ton message et de soigner l'orthographe :
- le "code" non python (résultat de programme, nom de fichiers...) devrait être dans des balises de code
- le code python devrait être dans une balise de code python (clique sur le triangle à droite du permettant de mettre les balises de code).
J'ai reformaté ton message en conséquence, j'espère ne pas avoir commis d'erreur (notamment tes noms de colonnes semblaient incorrects).
Bref, en repartant de ton message corrigé, ton code devrait être corrigé ainsi :
df["adresse_ip"] = [ "128.30.0.0" if x.startswith('128.30') else x for x in df["adresse_ip"] ] print(df)
... ce qui donne :
action adresse_ip ip_source ip_destination client
0 block 128.30.0.0 29E9t9994 12300rtgR30 client1
1 block 13.19.04.22 29E9th9994 12300Rg30 client1
2 allow 40.77.05.293 29dfbfE99994 12d300R30 client2
3 block 128.90.73.294 29E99fv994 1230s0R30 client2
4 allow 128.30.0.0 29Egfn99994 12h300R30 client3
5 allow 90.03.93.296 29E99fv994 123k00R30 client5
6 allow 128.30.0.0 29E99994 12300tR30 client7
7 block 128.40.01.298 29E99994 1230z0R30 client8
8 block 128.50.02.299 29E99994 1230v0R30 client9
... mais à mon avis ce serait mieux d'utiliser
pandas.DataFrame.applyou
pandas.DataFrame.replace.
df["adresse_ip"] = df["adresse_ip"].apply( lambda ip: "128.30.0.0" if ip.startswith('128.30') else ip )
df["adresse_ip"] = df["adresse_ip"].replace( regex=r"^128[.]30[.].*", value="128.30.0.0" )
Bonne chance
FerhatYous
Messages postés
20
Date d'inscription
jeudi 24 février 2022
Statut
Membre
Dernière intervention
8 août 2022
Modifié le 18 mars 2022 à 15:51
Modifié le 18 mars 2022 à 15:51
Merci les deux marchent bien pour moi
mamiemando
Messages postés
33407
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
29 novembre 2024
7 807
18 mars 2022 à 17:11
18 mars 2022 à 17:11
Parfait, je bascule le sujet en résolu. N'hésite pas à le faire par toi-même à l'avenir.
Bonne continuation !
Bonne continuation !