+ -
当前位置:首页 → 问答吧 → Python中随机选择问题

Python中随机选择问题

时间:2011-11-26

来源:互联网

Samples_num = np.random.randint(0,high = len(data), size = nSamples)
Te_data_num=[]
for n in range(len(data)):
  if n not in Samples_num:
  Te_data_num.append(n)

len(data)和nSamples都是我已经给定了的,分别为150和100.
我的目的是想从0~150中先随机选择100个数存到Samples_num中,然后把剩下的50个数存到Te_data_num中。
但是结果Te_data_num中数的个数并不是50,而是八十多,这是怎么回事呢?请高人指教!谢谢!

作者: lp106   发布时间: 2011-11-26

楼主这么干,150个数,shuffle之后直接切片赋值

Python code

>>> import random
>>> a = range(151)
>>> random.shuffle(a)
>>> Samples_num = a[:100]
>>> Te_data_num = a[101:]
>>> len(Samples_num)
100
>>> len(Te_data_num)
50
>>> 

作者: libralibra   发布时间: 2011-11-26

打印出Samples_num及Te_data_num的值,你就知道为什么了.

如果数据量太大,可以把len(data)及size改小一些.

作者: panghuhu250   发布时间: 2011-11-26