2011-10-21 102 views
5

当我呼叫random.sample(arr,length) 错误返回random_sample() takes at most 1 positional argument (2 given)。在谷歌搜索之后,我发现当我想调用随机模块的样本函数时,我会调用Numpy的随机样本函数。我试过用不同的名称导入numpy,但不能解决问题。不过,我需要Numpy来完成剩下的程序。Python的随机模块使Numpy的随机模块无法访问

有什么想法?谢谢

回答

14

听起来像是你有类似

import random 
from numpy import * 

random是越来越被numpy的进口重挫。如果你想保持import *那么你就需要重新命名random

import random as rnd # or whatever name you like 
from numpy import * 

或者,可能会更好,是导入numpy的一个模块,而不是只是唬弄所有到你的模块的名字空间:

import random 
import numpy as np  # or leave as numpy, or whatever name you like 
+0

修复了这个问题,谢谢 –

5

这不应该发生。检查你的代码,如from numpy import *不良进口。

+0

是的,那是问题的一部分。谢谢 –

5

一定要保持进口明显:

>>> import numpy.random 
>>> import random   # python's random 
+0

好点,谢谢 –

0

用途:

import numpy as np 
import pandas as pd 
import random as rd 

相反的:

import numpy as np import pandas as pd import random

+0

你回答了一个4年前的问题,其他答案已经有了相同的建议。这不会增加任何价值。 –