gpt4 book ai didi

python - 删除 Pandas 数据框中多次出现的重复值

转载 作者:太空宇宙 更新时间:2023-11-03 15:01:57 25 4
gpt4 key购买 nike

请告诉我如何在Python中获取其HashCode出现多次的ImgFileNames。 注意:仅保留第一个出现的位置并删除剩余的位置,即使该值出现在中间、最后或任何位置。

我有一个如下所示的数据框:

ImgFileName         HashCodes
Img_0001 - Copy.tif 162a47470f021a60
Img_0001.tif 162a47470f021a60
Img_0002.tif 1b5b5b1aa638dac8
Img_0003.tif adadadadadadadad
Img_0004.tif adadadadadadadad
Img_0005 - Copy.tif a5b8648c8c666670
Img_0005.tif a5b8648c8c666670
Img_0006.tif 71b392da6a699392
Img_0007.tif 71b392da6a699392
Img_0008.tif b1b1f2fa6bf97292
Img_0009.tif 86e82ae4c8b6c9c9
Img_0010 - Copy.tif 86e8aae4c8b6c9c9
Img_0010.tif 86e8aae4c8b6c9c9

我想要如下输出:

ImgFileName         HashCodes
Img_0001 - Copy.tif 162a47470f021a60
Img_0003.tif adadadadadadadad
Img_0005 - Copy.tif a5b8648c8c666670
Img_0006.tif 71b392da6a699392
Img_0009.tif 86e82ae4c8b6c9c9

最佳答案

您需要boolean indexingduplicated - 首先过滤所有重复项,第二次过滤重复项的最后一个值或重复项的第一个值 (keep='last'):

df =df[ df.duplicated('HashCodes', keep=False) & df.duplicated('HashCodes')]
print (df)
ImgFileName HashCodes
1 Img_0001.tif 162a47470f021a60
4 Img_0004.tif adadadadadadadad
6 Img_0005.tif a5b8648c8c666670
8 Img_0007.tif 71b392da6a699392
12 Img_0010.tif 86e8aae4c8b6c9c9

或者:

df =df[ df.duplicated('HashCodes', keep=False) & df.duplicated('HashCodes', keep='last')]
print (df)
ImgFileName HashCodes
0 Img_0001 -Copy.tif 162a47470f021a60
3 Img_0003.tif adadadadadadadad
5 Img_0005 -Copy.tif a5b8648c8c666670
7 Img_0006.tif 71b392da6a699392
11 Img_0010 -Copy.tif 86e8aae4c8b6c9c9

关于python - 删除 Pandas 数据框中多次出现的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44998701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com