Bonjour à tous,
Cela fait 2 bonnes semaines que je code en python. J'ai pas mal progressé mais il m'arrive encore de rester bloquer sur des choses simples. Dans ce cas-ci ça fait plusieurs heures que je te testes plein de truc sur un exemple simple mais rien n'a faire. Je n'arrive pas à avoir ce que je veux.
Mon problème est le suivant :
j'ai un fichier .csv avec des adresses emails, domaine et ville.
,email,domain,city
0,g@gmail.com,gmail.com,liege
1,d@hotmail.com,hotmail.com,bruxelle
2,o@yahoo.fr,yahoo.fr,dinant
3,g@msn.be,msn.be,liege
4,p@caramail.be,caramail.be,anvers
5,g@gmail.com,gmail.com,liege
6,a@ulg.ac.be,ulg.ac.be,liege
la première étape à réaliser est d'enlever les doublons (dans l'exemple : 5,g@gmail.com,gmail.com,liege).
J'ai essayer avec,
Code : Sélectionner tout - Visualiser dans une fenêtre à part remove,
Code : Sélectionner tout - Visualiser dans une fenêtre à part drop_duplicates, un truc avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part duplicated.... Enfin j'arrive pas a juste l'enlever et avoir un simple tableau du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part .set()
,email,domain,city
0,g@gmail.com,gmail.com,liege
1,d@hotmail.com,hotmail.com,bruxelle
2,o@yahoo.fr,yahoo.fr,dinant
3,g@msn.be,msn.be,liege
4,p@caramail.be,caramail.be,anvers
6,a@ulg.ac.be,ulg.ac.be,liege
(Dans mon cas l'index n'est pas important puisque je le remplacerai par un numero d'identification pour pouvoir faire un lien vers une autre dataframe)
et la deuxième étape est d'extraire le nom de l'adresse email et puis ensuite de les regrouper pour voir si oui ou non, il y'a un même nom pour plusieurs domaines. example:
name,domain,city
g , gmail.com , liege
, msn.be , liege
d , hotmail.com , bruxelle
o , yahoo.fr , dinant
p , caramail.be , anvers
a , ulg.ac.be , liege
Si je regroupe avec ce code :
j'obtiens une réponse : <pandas.core.groupb.DataFrame object at 0x3ca68c>
Code : Sélectionner tout - Visualiser dans une fenêtre à part df = df.groupby(['email','domain','city'])
<class 'pandas.core.groupby.DataFrameGroupby>
Moi je voudrais qu'il m'affiche par colonne ce que je veux et pas simplement ça. Si j'utilise aprèsça fonctionne mais il me fait la moyenne des indexes et ça ne m'interesse pas du tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part .mean()
De plus, si j'ai d'autres colonnes, je suppose que pour grouper aussi il faut que je les nomme dans le df.groupby?
Je suis sur que la solution est simple mais je ne trouve pas les exemples qui colle à ma situation. Une fois que je l'aurai vu une fois ça ira, mais la je bloque un peu.
Merci de votre aide
Maxime
Partager