如何在保持行顺序的同时从 Pandas DataFrame 中采样

Nic*_*las 8 python dataframe pandas

给定任何二维 DataFrame,您可以调用例如。df.sample(frac=0.3)检索样本。但此示例的行顺序将完全打乱。

有没有一种简单的方法来获取保留行顺序的子样本?

cha*_*ton 7

我们可以做的是使用df.sample(),然后按原始行顺序对结果索引进行排序。追加sort_index()调用就可以了。这是我的代码:

df = pd.DataFrame(np.random.randn(100, 10))
result = df.sample(frac=0.3).sort_index()
Run Code Online (Sandbox Code Playgroud)

您甚至可以按升序排列。文档在这里