如何在保持行的相对位置的同时对数据帧的行进行统一采样?

How to sample rows of a dataframe uniformly while maintaining the relative position of the rows?

我想使用 pandas.DataFrame.sample 从 pandas 数据帧 均匀地 中采样给定行数。但是,我想确保所选行的 order 与原始数据框中那些相同行的顺序不矛盾。我不知道该怎么做;行的顺序背后有一个物理意义,我想保留它。也许最好称其为沿行轴抽取数据帧而不是对其进行采样。你有什么建议?

注:

原始数据框有 83 行。 我需要创建两个样本,每个样本有 25 行和 24 行。

df1 = original_df.sample(25)
# returns the rest(24)
df2 = original_df[~ original_df.index.isin(df1.index)]
df2 = df2.sample(24)

采样数据帧(df1 和 df2)将具有来自原始数据帧的索引值)。要获得原始数据框中的顺序,您可以按索引

对值进行排序
df1 = df1.sort_index()
df2 = df2.sort_index()