背景信息:我有一个数据框df
,其中包含多个列,其中焦点是名为“流派”的列
目标:
可以在这张图片中看到问题,有些条目发现重复,例如“[戏剧,浪漫]”和“[浪漫,戏剧]”是同一件事
- 现在的目标是以编程方式删除/替换重复项,以便将变体替换为其等价形式。
例子:
“[戏剧,浪漫]”和“[浪漫,戏剧]”
现在 [Romance, Drama] 被 [Drama, Romance] 替换,反之亦然,而不是完全删除,我们只是替换列表的内容
输出 - 在替换重复的 '[Drama, Romance]' 和 '[Romance, Drama]' 之前
- 过滤
df
列“流派”以仅包含列表条目不超过 3 个流派的流派,例如删除任何超过 3 个流派的行。“流派”列中可接受的结果示例:
- [浪漫,戏剧,喜剧]
- 【爱情、剧情】
- [戏剧]
我尝试了以下方法:
#to delist the 'genres' column
df['genres'] = df.genres.apply(', '.join)
# code sample of manually replaced duplicated content in genres column
df['genres'] = df['genres'].str.replace("Romance, Drama","Drama, Romance")
df['genres'] = df['genres'].str.replace("Drama, Comedy","Comedy, Drama")
上面的代码有效,但它是针对单个重复项手动完成的,所以我想找到一种方法来为在 'genres' 列中找到的所有重复项进行编码df