相关疑难解决方法(0)

从大型CSV文件中读取一个小的随机样本到Python数据框中

我想要读取的CSV文件不适合主内存.如何读取它的几个(~10K)随机行并对所选数据帧进行一些简单的统计?

python random io import-from-csv pandas

51
推荐指数
4
解决办法
4万
查看次数

带有generator/iterable/iterator的Python随机样本

你知道是否有办法让python random.sample与生成器对象一起工作.我试图从一个非常大的文本语料库中获取随机样本.问题是random.sample()引发以下错误.

TypeError: object of type 'generator' has no len()
Run Code Online (Sandbox Code Playgroud)

我在想,也许有一些方法itertools可以用来自某些东西来做这件事但却找不到任何有点搜索的东西.

一个有点组成的例子:

import random
def list_item(ls):
    for item in ls:
        yield item

random.sample( list_item(range(100)), 20 )
Run Code Online (Sandbox Code Playgroud)

UPDATE


按照MartinPieters的要求,我做了目前提出了三种方法的一些具体时机.结果如下.

Sampling 1000 from 10000
Using iterSample 0.0163 s
Using sample_from_iterable 0.0098 s
Using iter_sample_fast 0.0148 s

Sampling 10000 from 100000
Using iterSample 0.1786 s
Using sample_from_iterable 0.1320 s
Using iter_sample_fast 0.1576 s

Sampling 100000 from 1000000
Using iterSample 3.2740 s
Using sample_from_iterable 1.9860 s
Using …
Run Code Online (Sandbox Code Playgroud)

python random generator

38
推荐指数
3
解决办法
2万
查看次数

如何从Python 3中的deque获取random.sample()?

我有一个collections.deque()元组,我想从中抽取随机样本.在Python 2.7中,我可以使用batch = random.sample(my_deque, batch_size).

但是在Python 3.4中提出了这个问题 TypeError: Population must be a sequence or set. For dicts, use list(d).

什么是最好的解决方法,或推荐的方法从Python 3中的双端队列中有效地采样?

python random python-2.7 python-3.x

8
推荐指数
2
解决办法
3373
查看次数