python - 丢弃数据框中不需要的点
问题描述
我有一个包含 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”。
我实施的一种解决方案涉及遍历每个数据点,如果它与我期望的不匹配,则丢弃后续值。但我需要一个更快的解决方案,因为我正在现场收集数据。
解决方案
我不确定这是否正是您想要的,但您可以尝试:
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)
推荐阅读
- angular - 如何在编译期间替换字符串
- git - VSTS 不应触发合并/提交构建,NO_CI
- ios - 无法使用 Swift 从 UIViewController 访问自定义视图
- c++ - 各种库的 C++ 从 Linux 到 Windows 的交叉编译问题
- python - SSH.Paramiko.Command 执行失败
- javascript - 如何读取看起来像 JSON 的自定义格式
- java - Google Dialogflow:应用程序默认凭据不可用
- django - Django 在我的 .envs 文件夹中查找模板(+ Django Admin)
- matlab - 使用 for 循环在 Matlab 中创建一个新矩阵
- c - 当添加超过 31 个字符(总数)时(不计算 \0),动态扩展我的 char 数组会产生副作用