例如,我想保留每第三行,但我必须保留可被 3 整除的数字(或类似的特殊规则)。当我看到一个可以被 3 整除的数字时,就会重新开始计数,这意味着我将从那里开始数到 3,除非我看到另一个可以被 3 整除的值。示例如下:
import pandas as pd
df = pd.DataFrame.from_dict({'x': [0, 1, 2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 17, 20, 23]})
filtered = pd.DataFrame.from_dict({'x': [0, 3, 7, 9, 12, 17]}) # this is the desired dataframe
print (df, '\n\n--------------\n\n', filtered)
x
0 0
1 1
2 2
3 3
4 4
5 5
6 7
7 8
8 9
9 11
10 12
11 13
12 14
13 17
14 20
15 23
--------------
x
0 0
1 3
2 7
3 9
4 12
5 17