我有一组使用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 :(得分:0)
您写道,您正在从excel工作簿中获取数据,但您没有提供任何代码。所以我不确定,你是怎么做到的。
我建议http://www.python-excel.org/来读取和写入excel。您可以在此处找到写入excel的文档:https://secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/doc/xlwt.html?p=4966。它非常简单明了,只需查看即可。
请注意,这个网站是为了互相帮助,而不是互相帮助。所以我不希望有人给你完成的代码库,特别是你提供的信息有限。