来自随机数据块的随机行有多随机?

How random is a random row from random chunks of data?

我正在尝试在 Python 中构建一个非常简单的工具。

我有一个列表,一个非常大的 .csv 列表(大约 5GB),包含抽奖号码。

出于某种原因,我无法获取 Pandas 甚至常规 SQL 数据库来将此列表转换为 table,然后随机 select 一个数字(尝试 select 随机获胜者)

所以有人建议我用代码将 .csv 分成块(到目前为止我什至无法打开列表)。

主要问题是,如果我这样做会产生多大的随机性?假设它将它分成 5 个块,然后我要求它从这五个块中的任何一个中 select 随机数据行。随机结果是否实际上显示了 100% 随机的数据行,或者这是否受到必须在两个级别上随机 运行 的影响。 IE。 - 随机 select 这五个区块之一,然后随机 select 其中的一个数字。

如果我那样做,是否会影响它的真正随机性?还是我只是在想周围的统计数据?

(奖金问题,我什至还没有想出一个明确的方法来将 csv 分解成可管理的块,所以任何提示都会非常棒!)

以下两种情况是等价的:

  1. 从牌组中随机选择一张牌
  2. 从{梅花、红心、黑桃、方块}中随机挑选一套花色,然后从该花色中挑选一张牌。

但是,以下是不等价的:

  1. 随机选择一张牌
  2. 从{花牌、非花牌}中随机选择一个类别,然后从该类别中随机选择一张牌,因为那样会过度采样花牌。

这个故事的寓意:只要块大小相等,你就会没事的。否则,您将对较小的块进行过度采样。