2015-05-18 64 views
-1

嘗試的Python:如何選擇10個隨機樣本n次

import numpy as np 
import random 

with open(r'C:\Python27\Lib\site-packages\visual\examples\hsp.txt') as f: 

    random.choice(set(f),10) 

def repeat(f,N): 
    for _ in itertools.repeat(None,N): f() 

錯誤

TypeError: choice() takes exactly 2 arguments (3 given)

這也給了我一個無效的語法如果我換成n,其中50

回答

1

從Python文檔

random.sample(population, k) 


Return a k length list of unique elements chosen from the population sequence. Used for random sampling without replacement. 

New in version 2.3. 

返回一個包含從總體元素,同時保留原有的人口不變,一個新的列表。結果列表按選擇順序排列,以便所有子片也將是有效的隨機樣本。這允許抽獎獲獎者(樣本)被劃分爲大獎和第二名獲獎者(子公司)。

人口的成員不需要可排除或獨特。如果總體包含重複,則每個事件都是樣本中可能的選擇。

要選擇從一個範圍內的整數的一個樣本,使用一個x範圍()對象作爲參數。這對於從大量樣本中抽樣來說尤其快速和節省空間:樣本(xrange(10000000),60)。

+0

很好的提示上的xrange –

+0

慣於採取credit..I瞭解到它,而它回答。所有的感謝stackoverflow :) – therealprashant