我有一个具有时间序列列的数据框: 除了很少的垃圾值外,它们遵循特定的顺序 我希望根据时间列删除行。可以看出1276.400与序列不匹配,因此需要删除整个行。 我知道如何根据条件删除熊猫行,但无法针对此特定问题提出解决方案
.......
583.19732
583.397583
583.5975952
1276.400146
583.7976074
583.9976196
584.1975708
584.396123
584.597834
........
答案 0 :(得分:1)
您将需要选择一些逻辑来确定您认为的异常值。我们对此无能为力。您最了解您的数据。
一种选择是使用pd.Series.quantile
。这使您可以灵活地定义误差范围。另一方面,不是专门查看相邻的值。
df_filtered = df[df['col'] < df['col'].quantile(0.90)]
print(df_filtered)
col
0 583.197320
1 583.397583
2 583.597595
4 583.797607
5 583.997620
6 584.197571
7 584.396123
8 584.597834