[英]Vaex Dataframe and Expression: Filter every nth row (Python)
[英]Cutting every nth row in dataframe in Python
我有一个像这样的列的数据框:
x y z
1 10 20
2 10 18
3 11 16.5
4 11 12
5 12 23
6 11 21
7 10 19
8 10 26
.
.
每当z_n + 1大于z_n时,我都希望将其削减。
输出为:
x y z
1 10 20
2 10 18
3 11 16.5
5 12 23
6 11 21
8 10 26
.
.
它不会每隔x次出现-从较小的z_n到较大的z_n的每次更改的索引都不是“常规的”。
是否有捷径可寻?
我们可以使用shift
键向后看一排,并使用~
进行相反操作:
df[~(df['z'].shift() < df['z'])]
x y z
0 1 10 20.0
1 2 10 18.0
2 3 11 16.5
3 4 11 12.0
5 6 11 21.0
6 7 10 19.0
尝试:
df[~(df.z.diff(-1) < 0)]
输出:
x y z
0 1 10 20.0
1 2 10 18.0
2 3 11 16.5
4 5 12 23.0
5 6 11 21.0
7 8 10 26.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.