2017-11-12 1 views
0

後に故障したI持っているループのために、以下: 何かが17のループ

i = 1 
y = 4 
for column in new_columns: 
    df[column] = (df['column1'] * (1+G1)**i * (df['ER1'] - df['ER2']) \ 
        * df['column2'] * (1+ df['Column3'])**i + df['column1'] \ 
        * (1+G1)**i * df['E2'] * df['Column2'] * (1+ df['Column3'])**i \ 
        * (1 - ER2) * df['Column4'])/ (1 + df['ER4'])**y 
    i += 1 
    y += 1 

は、私が新しい列で作られたグラフの奇妙なねじれに気づき、私は計算をダブルチェックすることにしました同じことをMS Excelで実行します。 PythonとExcelの列の比率は、ループ番号17まで1です。18番目のループでは、比率は1.0249(Pythonは2.5%高い数値を生成)にジャンプし、最後のループ(30)までそこにとどまります。 MS Excelで作成されたグラフによじれはありません。どんな賢明な考え?

+0

数字が浮かんでいますか?それは浮動小数点エラーかもしれません – rassar

+2

あなたが[mcve]を形成するようにこの質問を書き直す必要があります。私は、グラフのキンクは誰もが知っている技術用語ではないと確信しています。ここでは不可能なデータでエラーを再現できるようにする必要があります。たぶん、ループを落とし、私たちに反復17かそれを示すかもしれません。 – DJK

+0

Excelとpythonのバージョン?おそらく1つは32ビットで、もう1つは64ビットであり、浮動小数点エラーが発生しています。 –

答えて

0

これで約8時間を費やした結果、最終的に私はnew columnsに重複があり、明らかに結果のデータフレームには表示されず、したがってExcelとの違いがわかりました。申し訳ありません。

関連する問題