首页 > 解决方案 > 丢弃数据框中不需要的点

问题描述

我有一个包含 15,000 个数据点的数据框,每个数据点的值分别为 0、1、2 或 3。数据包含大约 25-30 个相同值的出现,然后是另一个值的 0-2 个实例,然后是 25- 30 次出现另一个值。较长的(25-30 项)序列始终遵循模式 3 -> 1 -> 2 -> 0。我需要摆脱夹在两个较长序列之间的 0-2 个实例。有没有一种快速有效的方法来做到这一点?更好的是,python中是否有内置函数可以做到这一点?

这是数据外观的示例:3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,1, 1,1,1,1,1,1,1,1

在这种情况下,我想摆脱“0”。

我实施的一种解决方案涉及遍历每个数据点,如果它与我期望的不匹配,则丢弃后续值。但我需要一个更快的解决方案,因为我正在现场收集数据。

标签: python

解决方案


我不确定这是否正是您想要的,但您可以尝试:

dataList = [3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,1,1,1,1,1,1,1,1,1]

for x in list:
    if x == 0:
        dataList.remove(x)
print(dataList)

推荐阅读