我正在尝试应用此处概述的ACE算法:https://pypi.python.org/pypi/ace/0.3
这是示例页面中的代码,该代码有效:
from ace.samples import wang04
x, y = wang04.build_sample_ace_problem_wang04(N=200)
from ace import model
myace = model.Model()
myace.build_model_from_xy(x, y)
这是我要运行的代码:
import pandas as pd
import numpy as np
from ace import model
filename = 'G_perm.txt'
well = pd.read_csv(filename, sep="\s+", error_bad_lines=False)
well.columns = ["k", "por"]
x = np.zeros(len(well))
y = np.zeros(len(well))
for i in range(len(well)):
x[i] = well.k[i]
y[i] = well.por[i]
myace = model.Model()
myace.build_model_from_xy(x, y)
这是txt文件的示例,共有162行:
k por
306.0 26.3
61.0 25.4
1059.0 30.9
1120.0 30.0
540.0 29.8
272.0 27.0
430.0 28.3
84.0 25.6
788.0 30.2
490.0 28.7
541.0 28.8
当我尝试运行代码时,得到
list index out of range
有没有人与Pandas和Numpy成功实施ACE?
最佳答案
x_values
的build_model_from_xy
参数似乎需要一个迭代器,就像它在x变量列表中进行迭代一样。因此,对您的最后一行进行以下替换应该有效:
myace.build_model_from_xy([x], y)
请注意,示例代码(
wang04.build_sample_ace_problem_wang04(N=200)
)中的x实际上是一个数组列表。关于python - Python交替条件期望(ACE)算法的应用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42542914/