【发布时间】:2013-09-13 20:50:46
【问题描述】:
我有一个从.tsv 文件加载的DataFrame。我想生成一些探索性的情节。问题是数据集很大(约 100 万行),因此图上的点太多而看不到趋势。另外,绘图需要一段时间。
我想对 10000 个随机分布的行进行子抽样。这应该是可重现的,因此每次运行都会生成相同的随机数序列。
这:Sample two pandas dataframes the same way 似乎在正确的轨道上,但我不能保证子样本的大小。
【问题讨论】:
-
必须是随机的吗?例如,您也可以采取每千分之一。为什么不能保证子样本的大小?你说你想要一个 10000 的子样本。
-
是的,我可以每 (1/N) 行进行二次抽样以获得 N 个点。但我想知道如果我们需要随机选择的点,我们该如何解决。另一件事是,如果数据以等于 N 的频率振荡。我最终会在完全相同的点选取数据。
-
好的,有充分的理由。但是您链接到的解决方案有什么问题?如果您不能保证大小,您可以将
random.randint的大小设置为数据帧长度的某个部分。 -
如果我正确阅读了解决方案,似乎我无法控制子样本中有多少条记录。因为,我无法控制生成的
True的数量。我想应该有一种方法可以通过使用numpy.random.randint()而无需替换来生成子样本索引。但我不知道,如何。 -
啊,是的,我的错。我应该更好地阅读它。看我的回答。
标签: python numpy pandas subsampling