python - 删除特定数字的连续值 - 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]
解决方案
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]
推荐阅读
- uwp - 可以通过 Visual Studio 桥接桌面应用程序调用 UWP API 吗?
- reactjs - 在 Chrome 但不是 Firefox 上刷新页面加载滚动失败
- sql - 您可以为另一列中的每个值制作一个序列吗
- reactjs - 是否可以用钩子记忆未知数量的组件?
- python - for循环将文件读入列表与列表中元素的顺序之间的差异
- firebase - 在 Firebase Auth 中更新电子邮件地址时发送验证电子邮件
- flutter - 当语言环境设置为“he”(希伯来语)时,Flutter CupertinoDatePicker 会向后显示时间(mm:hh 而不是 hh:mm)
- vue.js - Vue:从函数内部,如何等待另一个函数完成?
- python - 如何使用 pyvtk 将 3D 矢量场从 numpy 数组导出到 *.vtk 文件?
- azure - 具有一个字符串和一个字符串列表的相似性 API