【发布时间】:2021-08-15 00:17:07
【问题描述】:
我有一个包含重复产品 ID 的数据集。但是,我只想从“翻译”列中删除所有值为“否”的重复项 - 到目前为止,我有这个:
df2 = df.drop_duplicates(subset="Product ID ")
但是,我需要添加条件以仅删除那些重复两次以上的产品 ID,例如:
Product ID | Translation (Column name)
58965 Yes
58965 Yes
58965 No
我想只保留前两行并删除带有条件的最后一行,Translation = No 从上面的示例中。怎么写?
谢谢大家!
【问题讨论】:
-
尝试做这样的事情:
df.loc[df.groupby('Product ID').cumcount().lt(2)] -
@rhug123 你的回答是正确的。你想把它作为答案吗?
-
肯定会那样做
-
谢谢@rhug123 - 因为骗子不按顺序排列,所以我忘了提一下,此外,我想至少让那些骗子的价值为“否” “翻译”栏 - 我将如何在您的答案中写下? df.loc[df.groupby('Product ID').cumcount().lt(2)]
-
在您使用
Translation编辑的列中,最后一行是No。所以你还想删除最后一行?
标签: python pandas duplicates conditional-statements