在Pandas DataFrame中删除重复超过5次的值

发布于 2021-01-29 16:47:30

我正在使用熊猫处理csv文件。如果它们连续出现,我需要删除一些重复的值。我知道有一个重复的函数可以删除第二次重复的任何值,而不管它们出现在哪里。但是,只有当列的值重复超过5个连续行时,我才必须删除数据。例如,

     1
     1
     3
     1 
     1
     1
     1
     1
     2

在这里,我不想删除B顶部的两个1,而只删除连续重复5次的1。关于我应该如何处理的任何指示?

关注者
0
被浏览
51
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    应该这样做:

    >> df = pd.Series([1,1,3,1,1,1,1,1,2])
    >> df.groupby((df.shift() != df).cumsum())\
         .filter(lambda x: len(x) < 5)
    0    1
    1    1
    2    3
    8    2
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看