使用numpy函数loadtxt()读取两列文件,然后使用polyfit()返回一个数组

时间:2016-02-07 22:41:58

标签: python

afile是给定文件,z是多项式的次数。我已经打了一会儿这一点,令我感到沮丧的是我基本上没有说明如何继续。

这就是我认为应该是这样的:

import numpy as np
def newfile(afile,z):
    x,y = np.loadtxt(afile)
    d= np.polyfit(x,y,z)
    return d

我试图将其作为

data = np.loadtxt(afile)
x = data[0:]

通过打印"数据"我给出了这种格式:

[[   2.      888.8425]
 [   6.      888.975 ]
 [  14.      888.1026]
 [  17.      888.2071]
 [  23.      886.0479]
 [  26.      883.3316]
 [  48.      877.04  ]
 [ 99.       854.3665]]

通过打印" x"在这种情况下,只给我整个列表(我认为问题在于缺少逗号)。在这种情况下,我希望x是左列的数组。

1 个答案:

答案 0 :(得分:0)

我想你在这个声明中解压缩时会遇到错误:

x,y = np.loadtxt(afile)

你应该替换它:

x, y = zip(*np.loadtxt(afile))

其余的应该工作