创建和填充数据表

时间:2014-02-26 11:55:34

标签: python excel

我有一组使用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)

1 个答案:

答案 0 :(得分:0)

您写道,您正在从excel工作簿中获取数据,但您没有提供任何代码。所以我不确定,你是怎么做到的。

我建议http://www.python-excel.org/来读取和写入excel。您可以在此处找到写入excel的文档:https://secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/doc/xlwt.html?p=4966。它非常简单明了,只需查看即可。

请注意,这个网站是为了互相帮助,而不是互相帮助。所以我不希望有人给你完成的代码库,特别是你提供的信息有限。