我用Python创建了一组4个脚本。他们从Excel工作簿中获取数据,并在三轴图上绘图。然后他们计算每个数据集的回归曲线(曲面)。我想创建一个表,将其写回同一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)
您编写了从excel工作簿中获取数据的代码,但没有为此提供任何代码。所以我不确定你是怎么做到的。你知道吗
我建议使用http://www.python-excel.org/来阅读和编写excel。您可以在这里找到要写入excel的文档:https://secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/doc/xlwt.html?p=4966。这是相当简单和直接的,只是看看它。你知道吗
只是要知道,这个网站是为了帮助对方的知识,而不是通过做别人的工作。所以我不希望有人给你完整的代码库,尤其是你提供的有限信息。你知道吗
相关问题 更多 >
编程相关推荐