下記の2つのコードを書きました.
計算の演算方法が違うにも関わらず
1つ目のコードの出力3points-test.csvの53行目以降と
2つ目のコードの出力5poins-test.csvの1行目以降は
同じ値が出力されます.
いったい何がいけないのか全く分かりません.
このコードの計算はなぜ同じ出力結果を出すのですか.
入力のhistory_7702-15402with_Header.csvは
7701行×7201列のcsvファイルなのですが,
答えが同じという事は,きっとコードの演算が違うのだと思います.
import numpy as np import pandas as pd import decimal as dec from scipy import signal data = pd.read_csv("history_7702-15402with_Header.csv").values.tolist() lst = [] filterrange = dec.Decimal(2) deltax = dec.Decimal(1) deltay = dec.Decimal(1) a = filterrange*filterrange/24 for j in range(100): for i in range(7597): a1 = dec.Decimal(data[i+51][j]) a2 = dec.Decimal(data[i+52][j]) a3 = dec.Decimal(data[i+53][j]) a4 = dec.Decimal(data[i+103][j]) a6 = dec.Decimal(data[i+1][j]) x = a2 + a*(((a3 - 2*a2 + a1)/(deltax*deltax)) + ((a4 - 2*a2 +a6)/(deltay*deltay))) lst.append(x) #np.savetxt('filtered4_15403-23103_history.csv', lst, delimiter=',') array_lst = np.array(lst) reshape = array_lst.reshape(100,7597) np.savetxt('3points-test.csv', reshape, delimiter=',') min_list = [] minimum = np.min(reshape,axis=0) min_list.append(minimum) np.savetxt('3points-testmin.csv', min_list, delimiter=',')
import numpy as np import pandas as pd import decimal as dec data = pd.read_csv("history_7702-15402with_Header.csv").values.tolist() print(data[0][0]) print(data[1][0]) print(data[1][1]) lst = [] filterrange = dec.Decimal(2) deltax = dec.Decimal(1) deltay = dec.Decimal(1) a = filterrange*filterrange/dec.Decimal(24) b = filterrange*filterrange*filterrange*filterrange/dec.Decimal(1152) dcccc = dec.Decimal(12) for j in range(50): for i in range(7493): a1 = dec.Decimal(data[i+102][j]) a2 = dec.Decimal(data[i+103][j]) a3 = dec.Decimal(data[i+104][j]) a4 = dec.Decimal(data[i+105][j]) a5 = dec.Decimal(data[i+106][j]) a6 = dec.Decimal(data[i+2][j]) a7 = dec.Decimal(data[i+53][j]) a8 = dec.Decimal(data[i+155][j]) a9 = dec.Decimal(data[i+206][j]) x = a3 + a*((-a5 + 16*a4 - 60*a3 + 16*a2 - a1 - a9 + 16*a8 + 16*a7 - a6)/(dcccc*deltax*deltax)) + b*((a5 - 4*a4 + 12*a3 - 4*a2 + a1 + a6 -4*a7 -4*a8 + a9)/(deltay*deltay*deltay*deltay)) lst.append(x) #np.savetxt('7702-15402_5point2derta.csv', list, delimiter=',') array_lst = np.array(lst) reshape = array_lst.reshape(50,7493) np.savetxt('5poins-test.csv', reshape, delimiter=',') min_list = [] minimum = np.min(reshape,axis=0) min_list.append(minimum) np.savetxt('5points-testmin.csv', min_list, delimiter=',')
何度か言ったと思いますが、Python本体の回答は無理なので回答依頼は別の人にだしてください。
回答2件
あなたの回答
tips
プレビュー