前提・実現したいこと
2016年の約1500軒の建物のエネルギー消費データがあり、そこから2017年と2018年の消費エネルギー予測をする問題です。まず初めに、2016年のデータをそのまま2017年と2018年にコピーしたいと考えました。具体的にtrain_5とtest_1のカラムの内、"building_id","meter","timestamp.1"の値がおお互いに全て一致していれば、train_5の"meter_reading"値をそのままtest_1の"meter_reading"に入れて欲しいという関数を書いています。しかし私が書いたコードはかなり実行が遅く、終了するのに1か月掛かる見込みとなりました。どうにか高速化できないでしょうか。よろしくお願いいたします。
![]
該当のソースコード
➀train_5_np=np.array(train_5)
➁test_1_np=np.array(test_1)
➂from tqdm import tqdm
➃@jit
def function():
for i in tqdm(range(len(test_1_np))): for j in (range(len(train_5_np))): if test_1_np[i,4] == train_5_np[j,4]: if test_1_np[i,1]== train_5_np[j,0] and test_1_np[i,2]== train_5_np[j,1]: test_1_np[i,5]=train_5_np[j,3] break else : continue
試したこと
計算が遅すぎるため断念しました。
何か高速化する方法はないでしょうか。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー