2014-02-26 90 views
0

我有一套使用Python創建的4個腳本。他們從Excel工作簿中獲取數據並繪製在3軸圖上。然後他們計算每個數據集的迴歸曲線(曲面)。我想要創建一個表格,將其寫回到同一個Excel工作簿中的新工作表中。該表格將顯示迴歸分析計算出的參數。表格佈局是:創建和填充數據表

Model   Parameter A  Parameter B 

Sulphide   
Mixed  
Oxide  
Leach  

我是一個地質學家,而不是一個程序員,我也很新到Python。所以,如果可以的話,請爲我貶低它。我已經在下面複製了部分腳本,希望它有所幫助。

''' 
============================================================================== 
======================== Sulphide Model Fitting ============================== 
''' 


#TCu_col = 0  # Variable currently unused 
ASCu_col = 1  # Variable that will determine the modeled data 
AICu_col = 2  # Variable that will determine the modeled data 
res_col = 3  # Recovery on "Y" Axis 

ASCu = sulphideData[:,ASCu_col] 
AICu = sulphideData[:,AICu_col] 
res = sulphideData[:,res_col] 

def residual(params, x1, x2, res_col): 
    a = params['a'].value 
    b = params['b'].value 


#============================================================================= 

    model = ((a*(ASCu/(ASCu + AICu))) + (b*(AICu/(ASCu + AICu)))) 

#============================================================================= 

    return (res-model) 

params = Parameters() 
params.add('a', value=1) 
params.add('b', value=1) 


out = minimize(residual, params, args=(ASCu_col, AICu_col, res_col)) 

a = np.round(params['a'].value) # This is parameter 'a' i want reported in the excel table 
b = np.round(params['b'].value) # This is parameter 'b' i want reported in the excel table 

print(a,b) 

x1 = np.linspace(min(sulphideData[:,ASCu_col]),max(sulphideData[:,ASCu_col]),100) 
x2 = np.linspace(min(sulphideData[:,AICu_col]),max(sulphideData[:,AICu_col]),100) 

X = x1 
Y = x2 
X,Y = np.meshgrid(X,Y) 

回答

0

你寫道,你正在從Excel工作簿中獲取數據,但是你沒有提供任何代碼。所以我不確定,你是怎麼做到的。

我會推薦http://www.python-excel.org/讀取和寫入excel。你可以在這裏找到寫入excel的文檔:https://secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/doc/xlwt.html?p=4966。這很簡單直接,只需看一下就可以了。

請注意,這個網站是用來幫助對方知識,而不是通過做其他工作。所以我不希望有人給你完成的代碼庫,特別是沒有你提供的有限的信息。

+0

我使用xlrd函數:book = xlrd.open_workbook('data.xlxs') – user3355594

+0

感謝您的鏈接。我並不指望任何人只需指出正確的命令以及如何使用/理解它們就可以完成這項工作。再次感謝。 – user3355594