掩码数组的Numpy.ma polyfit函数在整数输入时崩溃

掩码数组的Numpy.ma polyfit函数在整数输入时崩溃,numpy,curve-fitting,polynomial-math,maskedinput,Numpy,Curve Fitting,Polynomial Math,Maskedinput,掩码数组的numpy多项式拟合函数,ma.polyfit,在整数iput上崩溃: import numpy.ma as ma x = ma.arange(2) y = ma.arange(2) p1 = ma.polyfit(np.float32(x), y, deg=1) p2 = ma.polyfit( x , y, deg=1) 最后一行导致错误: ValueError: data type <type 'numpy.int64'> not inexact

掩码数组的numpy多项式拟合函数,
ma.polyfit
,在整数iput上崩溃:

import numpy.ma as ma
x = ma.arange(2)
y = ma.arange(2)
p1 = ma.polyfit(np.float32(x), y, deg=1)
p2 = ma.polyfit(           x , y, deg=1)
最后一行导致错误:

ValueError: data type <type 'numpy.int64'> not inexact
ValueError:数据类型不准确

为什么我不能用整数x值拟合数据(正常的
numpy.polyfit
函数没有问题),这是一个(已知的)错误吗?

它确实是
numpy.ma
中的一个错误:
rcond
(排除某些值的参数)将
len(x)*np finfo(x.dtypes).eps作为默认值,和
np.int32
没有任何
eps
字段(因为int没有相对精度)


我已经很快地研究了numpy的问题,但这个bug似乎没有被发现。提出一个新问题可能是个好主意:

这确实是
numpy.ma
中的一个bug:
rcond
(一个排除某些值的参数)将
len(x)*np.finfo(x.dtypes).eps
作为默认值,而
np.int32
没有任何
eps
字段(因为int没有相对精度)


我已经很快地研究了numpy的问题,但这个bug似乎没有被发现。提出一个新问题可能是个好主意:

谢谢你的安慰,我已经提交了一个新问题。顺便说一句,不是
将np.finfo(np.float32).eps导入为eps
,我猜你的意思是
eps=np.finfo(np.float32.eps
…?:-)这是相同的:这是一个风格问题:p这很奇怪:
import np.finfo(np.float32)。eps as eps
给了我一个语法错误……如果你是对的:我没有运行这部分代码。我立即修复它。感谢您的安慰,我提交了一个新版本。顺便说一句,我想您的意思是
eps=np.finfo(np.float32).eps
,而不是
import np.finfo(np.float32).eps
。-)这是相同的:这是一个风格问题:p这很奇怪:
import np.finfo(np.float32)。eps as eps
给了我一个语法错误……如果你是对的:我没有运行这部分代码。我马上修好。
import numpy.ma as ma
eps = np.finfo(np.float32).eps 

x = ma.arange(2)
y = ma.arange(2)
p1 = ma.polyfit(np.float32(x), y, deg=1, rcond = len(x)*eps)
p2 = ma.polyfit(           x , y, deg=1, rcond = len(x)*eps)