首页 > 解决方案 > 通过选择位置模 P = Q 的行对数据帧进行采样

问题描述

假设我有一个包含 N 行的数据框。我想选择行位置模 P 给出 Q 的行。因此,为了具体起见,假设 P = 7 和 Q = 5。

Row 0: 0 mod 7 = 0 (not satisfied)
Row 1: 1 mod 7 = 1 (not satisfied)
...
Row 5: 5 mod 7 = 5 (satisfied)
...
Row 12: 12 mod 7 = 5 (satisfied)

所以选择的行将是 5, 12, 19, 26 ....

如果Q=0,可以使用切片方法df.iloc[::P]。mod P = Q 如何做到这一点?

标签: pythonpandas

解决方案


df.iloc[Q::P]这表示从行开始,Q然后以 为增量步进P

当第一个参数没有像.iloc[::P]隐含的 0 那样给出时(并且中间一个隐含地是数据帧的结尾),如果你需要的话,你可以将它指定为 0 以外的值。


推荐阅读