首页 > 解决方案 > 删除特定数字的连续值 - Python Dataframe

问题描述

如何删除特定值的连续重复项?

我知道该groupby()功能,但它会删除任何值的连续重复项。

请参阅下面的示例代码。具体值为2,我要删除其中的重复项

import pandas as pd
from itertools import groupby

example = [1,1,5,2,2,2,7,9,9,2,2]
Col1 = pd.DataFrame(res)
# This does not work for just a specific number
res = [i[0] for i in groupby(Col1)] 

生成的 DataFrame 将是[1,1,5,2,7,9,9,2]

标签: pythonpython-3.xpandasdataframeitertools

解决方案


pandas除非您将其用于其他目的,否则这样做似乎有点矫枉过正pandas,例如:

In []:
import itertools as it
example = [1,1,5,2,2,2,7,9,9,2,2]
[x for k, g in it.groupby(example) for x in ([k] if k == 2 else g)]

Out[]:
[1, 1, 5, 2, 7, 9, 9, 2]

推荐阅读