Remplacement de catégories par leurs pourcentages

FerhatYous Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour,

J'ai un dataframe de cette sorte, et j'aimerai remplacer les catégories des variables "variable_1" et "variable_2" par leurs pourcentages par rapport à la variable "fraude". J'aimerais donc avoir dans "variable_1" 50 a la place de "cat_1", 0 à la place de "cat_2" et 50 à la place de "cat_3" .

import io
import pandas as pd 
import numpy as np 
csv = io.StringIO("""fraude,variable_1,variable_2
1,cat_1,f
0,cat_1,f
0,cat_2,h
0,cat_2,f
1,cat_3,f
1,cat_1,h
0,cat_2,h
0,cat_3,h
1,cat_3,h
1,cat_3,f
0,cat_1,h
1,cat_1,f""")


df = pd.read_csv(csv)
df


Windows / Chrome 103.0.0.0

J'ai testé cette commande, mais ce n'est pas ce que je voulais, ça serait top si quelqu'un a une piste :

df["variable_1"] = (df["variable_1"].value_counts(dropna = False) / len(df[df["fraude"] == 1])) *100
A voir également:

1 réponse

mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 

Bonjour,

Peux-tu décrire sur ce petit exemple le résultat attendu ? Car je n'ai pas compris. En outre, tu parles de catégories mais seule la colonne variable1 semble mentionner des catégories. Et tu parles de pourcentages, mais tu n'expliques pas comment les calculer.

Bonne chance

0