結果のデータ セットのコピーを返す、次のようなブール フィルター操作を実行します。
df[(df.age > 20) & (df.age < 30)].
結果のセットから、インデックスに基づいてランダムなスライスを選択したいと思います。だから例えば。10行目、14行目、17行目が欲しいかもしれません。
でも言えない
df[(df.age > 20) & (df.age < 30) & df.index.isin([10, 14, 17])]
フィルタリングされたインデックスが異なるためです。これは、次のように 3 つのステートメントで簡単に実行できます。
a = df[(df.age > 20) & (df.age < 30)].
a = a.reset_index()
result = a.index.isin([10, 14, 17])
これは、潜在的にデータ セット全体 (100 万行) に対する大規模なコピー操作であり、その後のリセット操作です。
コピー操作なしでこれをワンステップで実行したいと思います。コメント/洞察をいただければ幸いです。