Python 如何从数据集中随机选择n个块

Python 如何从数据集中随机选择n个块,python,pandas,random,Python,Pandas,Random,我有100个样本块,每个样本块有100个元素。一个区块中的元素相隔5秒;但是,来自不同块的元素之间的时间差至少为5小时(不是固定时间)。我的主要目标是从数据集中随机选取10个块 我的数据集: 索引时间值 i 12-1-2019 05:22:43 12}1 i+1122019 05:22:48 13 i+212-1-2019 05:22:53 14 .. i+99。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 i+x 12-1-2019 13:32:12 31}2 i+x+112-

我有100个样本块,每个样本块有100个元素。一个区块中的元素相隔5秒;但是,来自不同块的元素之间的时间差至少为5小时(不是固定时间)。我的主要目标是从数据集中随机选取10个块

我的数据集:

索引时间值
i 12-1-2019 05:22:43 12}1
i+1122019 05:22:48 13
i+212-1-2019 05:22:53 14
..
i+99。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
i+x 12-1-2019 13:32:12 31}2
i+x+112-1-2019 13:32:17 77
i+x+212-1-2019 13:32:22 16
..
i+x+99。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
i+X14-1-2019 23:45:43 14}3
i+x+114-1-2019 23:45:48 57
i+x+214-1-2019 23:45:53 46
..
i+x+99。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
注意:区块是有序的(即:区块1发生在区块2之前,区块3之前,依此类推)


我想从100块中随机挑选10块。但是,数据块中元素的顺序很重要,不能乱序。

如果我没弄错的话,第一个数据块从索引0到索引99,第二个数据块从索引99到索引199,依此类推

如果这是正确的,您可以从数据集中获得10个介于0和99之间且
iloc
适当行的唯一随机数

假设您的数据位于数据帧中:

[dataset.iloc[index*100:index*100 + 100] for index in random.sample(range(0,100),10)]
我没有测试代码,因为我没有你的数据,但是上面的代码行应该给你一个10个长度为100的块的列表

如果列表中的数据块需要按照原始数据帧中的顺序排序,则可以对随机数进行排序:

[dataset.iloc[index*100:index*100 + 100] for index in sorted(random.sample(range(0,100),10))]

那么,数据集的格式是什么?一个文本文件,一个列表列表,一个目录列表,一个数据框。这两种格式都有可能,但我想知道什么是你的…@SergeBallesta它在熊猫数据框中