python - 使用数据框中的条件删除重复项

标签 python pandas dataframe

我有一个数据框,文本作为一列,标签作为另一列。 这些文本是带有单个标签的副本。 我想删除这些重复项并仅保留指定标签的记录。

示例数据框:

                 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/

相关文章:

dataframe - 如何使用 Spark DataFrames 查询 JSON 数据列?

python:在一个简单的程序中索引超出范围

python - 基于Pandas系列高效计算差分矩阵

python - 如何使用smac进行卷积神经网络的超参数优化?

python - 如何获取 pandas 中某个项目的第一次和最后一次出现

python - 将 pandas 列中的字典转换为数据框

python - 使用 matplotlib 调整图例中的线条颜色

python - 我尝试将值映射到 pandas 中的列,但我得到的是 nan 值

python - 使用 Groupby 自定义时间段

scala - Spark 上的数据分析 Scala