我有一个数据框,文本作为一列,标签作为另一列。 这些文本是带有单个标签的副本。 我想删除这些重复项并仅保留指定标签的记录。
示例数据框:
text label
0 great view a
1 great view b
2 good balcony a
3 nice service a
4 nice service b
5 nice service c
6 bad rooms f
7 nice restaurant a
8 nice restaurant d
9 nice beach nearby x
10 good casino z
现在,如果我想在标签 a 存在的地方保留文本,并且只删除重复项。 示例输出:
text label
0 great view a
1 good balcony a
2 nice service a
3 bad rooms f
4 nice restaurant a
5 nice beach nearby x
6 good casino z
提前致谢!
最佳答案
您可以在 drop_duplicates
之前简单地尝试 sort_values
,因为 df 将首先按 label
按 alpha beta (a> b 屈服于 True)
df=df.sort_values('label').drop_duplicates('text')
或者
df=df.sort_values('label').groupby('text').head(1)
更新
Valuetokeep='a'
df=df.iloc[(df.label!=Valuetokeep).argsort()].drop_duplicates('text')
关于python - 使用数据框中的条件删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56999388/