python
  • python-2.7
  • 2016-02-28 125 views 0 likes 
    0

    我的python代碼在Ubuntu 14.04中成功運行;但是當我去Windows平臺上運行時,它會引發我的錯誤。 守則:Python代碼無法在Windows中執行

    import pymc 
    
    with open("days1.txt") as f: 
        dataset = map(float, f) 
    
    a = pymc.Uniform('a', lower=0, upper=1500000, value=70, doc='Weibull alpha parameter') 
    
    b = pymc.Uniform('b', lower=0, upper=1500000, value=70, doc='Weibull beta parameter') 
    
    like = pymc.Weibull('like', alpha=a, beta=b, value=dataset, observed=True) 
    
    if __name__=='__main__': 
    
        import pylab 
        M = pymc.MCMC([a,b,like]) 
        M.sample(10000,5000,2) 
        pymc.Matplot.plot(a) 
        pymc.Matplot.plot(b) 
        M.summary() 
        M.write_csv("parameters1.csv") 
    

    錯誤:

    C:\Python35-32>python.exe "E:\TCS\Desktop\EarlyWarning\JLR\Data\EJ327000AB\Scrip 
    ts\Screen 7\Check Python - 1\weibullEstimationOutData - 1.py" 
    Traceback (most recent call last): 
        File "C:\Python35-32\lib\site-packages\pymc\PyMCObjects.py", line 742, in __in 
    it__ 
        self._value = np.array(value, dtype=dtype) 
    TypeError: float() argument must be a string or a number, not 'map' 
    

    在處理上述異常,另一個異常:

    Traceback (most recent call last): 
        File "E:\TCS\Desktop\EarlyWarning\JLR\Data\EJ327000AB\Scripts\Screen 7\Check P 
    ython - 1\weibullEstimationOutData - 1.py", line 8, in <module> 
        like = pymc.Weibull('like', alpha=a, beta=b, value=dataset, observed=True) 
        AttributeError: 'TypeError' object has no attribute 'message' 
    

    請幫助。提前致謝

    回答

    2

    您正在使用Python 2與Ubuntu,但Python 3與Windows。安裝Python 2 for Windows,或將您的代碼移植到Python 3

    import pylab 
    import pymc 
    
    with open("days1.txt") as f: 
        dataset = list(map(float, f)) 
    
    a = pymc.Uniform('a', lower=0, upper=1500000, value=70, doc='Weibull alpha parameter') 
    
    b = pymc.Uniform('b', lower=0, upper=1500000, value=70, doc='Weibull beta parameter') 
    
    like = pymc.Weibull('like', alpha=a, beta=b, value=dataset, observed=True) 
    
    if __name__=='__main__': 
        M = pymc.MCMC([a,b,like]) 
        M.sample(10000,5000,2) 
        pymc.Matplot.plot(a) 
        pymc.Matplot.plot(b) 
        M.summary() 
        M.write_csv("parameters1.csv") 
    
    相關問題