python - 使用 scipy.optimize.curve_fit

标签 python scipy curve-fitting

我是 scipy 新手,无法使用 curve_fit 函数。我认为有一些 scipy/numpy 数据包装器需要用于独立和依赖的数据集。 windowCurrent 和 windowVoltage 是保存我的数据集中的一组滑动点的队列。

如何包装电流/电压对列表以避免此错误?

TypeError: unsupported operand type(s) for -: 'numpy.ndarray' and 'numpy.ndarray'

代码:

for line in inputFileContents[:maxlen]:
    print line
    timeStamp,voltage,current = line.split(",")
    if windowCurrent == None and windowVoltage == None:
        windowCurrent = deque(current, maxlen)
        windowVoltage = deque(voltage, maxlen)
    else:
        windowCurrent.append(current)
        windowVoltage.append(voltage)

for lineConents in inputFileContents:
    timeStamp,voltage,current = line.split(",")
    windowCurrent.append(current)
    windowVoltage.append(voltage)
    curveList.append([timeStamp, op.curve_fit(logCurve, np.array(list(windowCurrent)), np.array(list(windowVoltage)))])
    curveListPopulate(curveList)

另外:执行 list(windowCurrent) 时,不进行 np.array 包装,也会返回错误。

Link错误全文

最佳答案

尝试转换currentvoltagefloat在将它们附加到 windowCurrent 之前和windowVoltage .

说明:

Numpy 的数组可以保存多种数据类型,而不仅仅是数字。在您的情况下,它似乎是字符串数据类型: line.split返回字符串,因此您得到一个字符串的 numpy 数组。显然,您不能将字符串彼此相减。

关于python - 使用 scipy.optimize.curve_fit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14131843/

相关文章:

Python - 从记录值拟合指数衰减曲线

python - Levenberg-Marquardt-算法和 ODR 之间的区别

python - 在 Python2.x 中使用 print()(函数版本)

python - 相当于 pandas 中的 str.join

python - Flask虚拟环境和环境变量

python - 稀疏数据集上的谱聚类

python - 我可以在 Windows 32 上免费将 numpy 和 scipy 编译为 egg 吗?

python - 如何使用python从git存储库下载单个文件

python - 直接在Scipy稀疏矩阵上使用Intel mkl库以更少的内存计算A点A.T

MATLAB:使用 fittype 的曲线拟合工具箱中的分段函数