2

私は 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ラッピングを省略して を実行すると、エラーが返されます。

エラーの全文へのリンク

4

2 に答える 2

2

とに追加する前に、currentとに変換してみてください。voltagefloatwindowCurrentwindowVoltage

説明:

Numpyの配列は、数値だけでなく、さまざまなデータ型を保持できます。あなたの場合、それは文字列データ型のようです:line.split文字列を返すので、文字列のnumpy配列を取得します。もちろん、文字列を相互に減算することはできません。

于 2013-01-03T07:51:52.050 に答える
0

私はsilvadoに同意します。問題は、文字列numpy配列をcurve_fitに渡すことです。

これは問題の解決に役立つ可能性があります。

文字列の配列をnumpyのfloatの配列に変換するにはどうすればよいですか?

于 2013-01-03T18:10:45.023 に答える