我正在尝试应用此处概述的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_valuesbuild_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/

10-12 22:10