相关疑难解决方法(0)

在Python/Numpy中包含NAN的数组的线性回归

我有两个数组,比如varx和vary.两者都包含不同位置的NAN值.但是,我想对两者进行线性回归,以显示两个数组的相关程度.到目前为止,这非常有用:http://glowingpython.blogspot.de/2012/03/linear-regression-with-numpy.html

但是,使用这个:

slope, intercept, r_value, p_value, std_err = stats.linregress(varx, vary)
Run Code Online (Sandbox Code Playgroud)

导致每个输出变量的nans.将两个数组中的有效值作为线性回归的输入的最方便的方法是什么?我听说过屏蔽数组,但我不确定它是如何工作的.

python math numpy scipy

14
推荐指数
1
解决办法
1万
查看次数

Python编程 - numpy polyfit说NAN

我遇到了一些我编写的非常简单的代码问题.我有4组数据,并希望使用numpy polyfit生成多项式最佳拟合线.当使用polyfit时,列表中的3个产生数量,但是当使用polyfit时,第三个数据集产生NAN.下面是代码和打印输出.有任何想法吗?

码:

所有'ind _#'都是数据列表.下面将它们转换为numpy数组,然后可以生成多项式最佳拟合线

ind_1=np.array(ind_1, np.float)

dep_1=np.array(dep_1, np.float)

x_1=np.arange(min(ind_1)-1, max(ind_1)+1, .01)

ind_2=np.array(ind_2, np.float)

dep_2=np.array(dep_2, np.float)

x_2=np.arange(min(ind_2)-1, max(ind_2)+1, .01)

ind_3=np.array(ind_3, np.float)

dep_3=np.array(dep_3, np.float)

x_3=np.arange(min(ind_3)-1, max(ind_3)+1, .01)

ind_4=np.array(ind_4, np.float)

dep_4=np.array(dep_4, np.float)

x_4=np.arange(min(ind_4)-1, max(ind_4)+1, .01)
Run Code Online (Sandbox Code Playgroud)

下面打印出上面生成的数组,以及polyfit列表的内容,它们通常是多项式方程的系数,但对于下面的第三种情况,所有polyfit内容都打印为NAN

print(ind_1)

print(dep_1)

print(np.polyfit(ind_1,dep_1,2))

print(ind_2)

print(dep_2)

print(np.polyfit(ind_2,dep_2,2))

print(ind_3)

print(dep_3)

print(np.polyfit(ind_3,dep_3,2))

print(ind_4)

print(dep_4)

print(np.polyfit(ind_4,dep_4,2))
Run Code Online (Sandbox Code Playgroud)

打印:

[ 1.405  1.871  2.713 ...,  5.367  5.404  2.155]

[ 0.274  0.07   0.043 ...,  0.607  0.614  0.152]

[ 0.01391925 -0.00950728  0.14803846]

[ 0.9760001  2.067      8.8       ...,  1.301      1.625      2.007    ]

[ 0.219      0.05       0.9810001 …
Run Code Online (Sandbox Code Playgroud)

python numpy nan

7
推荐指数
1
解决办法
6609
查看次数

标签 统计

numpy ×2

python ×2

math ×1

nan ×1

scipy ×1