0
votes

Éliminez duplicata pour une valeur de colonne dans un fichier de données - la colonne contient plusieurs URL.

Ainsi, j'ai une colonne appelée "URL" dans mon Dataframe PD1 xxx

sortie: xxx


2 commentaires

Quel code avez-vous essayé, aussi je suppose que vous utilisez des pandas?


Est la colonne url une chaîne ou contient-elle une liste?


3 Réponses :


0
votes
df['URL'] = df.URL.str.split(',').apply(lambda x: ','.join(sorted(set(x))))
##print(df)

        URL
0  url1,url2
1  url2,url3

2 commentaires

Bon travail, mais j'ai un sentiment que "Row1:" et "Row 2:" ne font pas partie de la colonne URL , mais la façon dont il a écrit l'index du DF.


Ahh !! Je suis allé avec donc j'ai une colonne appelée "URL" dans mon Dataframe PD1 , si OP change alors je changerai en conséquence



0
votes

Je suppose que votre colonne ne contient que la liste d'URL.

Une des solutions possibles est de:

  • Appliquez une fonction de la colonne URL , contenant les étapes suivantes:
    • Split la chaîne source de chaque virgule (le résultat est une liste de fragments),
    • Créez un ensemble à partir de cette liste (ainsi d'élimination des répétitions),
    • Joindre des clés de cet ensemble à l'aide d'une virgule,
    • Enregistrez le résultat dans la colonne source.

      quelque chose comme: xxx

      Comme ce code utilise le module re , vous devez importer re avant.


0 commentaires

0
votes

Split et appliquer ensemble

d = {"url": ["url1,url1,url2",
"url2,url2,url3"]}

df = pd.DataFrame(d)
df.url.str.split(",").apply(set)


0 commentaires