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

标签 python pandas

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

     1
     1
     3
     1 
     1
     1
     1
     1
     2

这里我不想删除B中顶部的两个1,而是只删除连续重复5次的1。 关于我应该如何解决这个问题有什么指示吗?

最佳答案

这应该可以做到:

>> 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

关于python - 删除 Pandas DataFrame 中重复超过 5 次的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28109256/

相关文章:

python - 如何使用 python(pandas) 更新 csv 文件中所有行的最后一列值

python - 从 XML 文档解析 CSV

python - PusherBadRequest 未知 Auth_Key

python - 如何从 Pandas 数据框中删除一行?

python - Pandas 数据框中的数据透视列和列值

Python - 如何将 json 对象数组转换为 Dataframe?

python - subprocess.run() 参数编码

python-2.7 - 将两个数据框列中的数据合并为一列

python - Pandas:在组中将值向下移动一行

python - 由于冲突,无法使用 anaconda 安装 geopandas