我有一个数据集(csv文件),有三个独立的列。第0列为信号时间,第1列为频率,第2列为强度。数据中存在大量噪声,可以通过查找每个信号频率的方差对其进行排序。如果是<;那么这是正确的频率。因此,这将是我想要计算线性/多元回归的数据。p、 我必须手动计算线性:(。我的嵌套for循环决策结构当前不起作用。任何解决方案都会有帮助!谢谢
data = csv.reader(file1)
sort = sorted(data, key=(operator.itemgetter(1))) #sorted by the frequencies
for row in sort:
x.append(float(row[0]))
y.append(float(row[2]))
frequencies.append(float(row[1]))
for i in range(499) :
freq_dict.update({ frequencies[i] : [x[i], y[i]] })
for key in freq_dict.items():
for row in sort :
if key == float(row[1]):
a.append(float(row[1]))
b.append(float(row[2]))
c.append(float(row[0]))
else :
num = np.var(a)
if num < 2332.0:
linearRegression(c, b, linear)
print('yo')
polyRegression(c, b, d, linear, py)
mplot.plot(linear, py)
else:
a = []
b = []
c = []
我使用了499的范围,因为这是我数据集的长度。此外,如果频率不正确,我尝试清除列表(a、b、c)
一个更类似的解决方案是使用列表的corrcoef。但类似的风格如下:
相关问题 更多 >
编程相关推荐