Remplacement de catégories par leurs pourcentages

Fermé
FerhatYous Messages postés 20 Date d'inscription jeudi 24 février 2022 Statut Membre Dernière intervention 8 août 2022 - 8 août 2022 à 12:14
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 - 8 août 2022 à 19:38

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

1 réponse

mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 7 752
8 août 2022 à 19:38

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