前提
時系列データの時間を補完したうえで、補完した部分の値に0をいれたいです。python初心者ですがご教授お願いいたします。
実現したいこと
time
4.080e+01 5.542e+00
7.480e+01 5.747e+00
1.397e+02 4.512e+00
1.576e+02 4.742e+00
2.466e+02 4.516e+00
2.872e+02 6.748e+00
3.883e+02 3.941e+00
4.178e+02 3.952e+00
4.826e+02 5.009e+00
5.303e+02 5.378e+00
5.881e+02 5.258e+00
6.388e+02 5.120e+00
6.894e+02 4.601e+00
8.230e+02 4.447e+00
9.669e+02 3.940e+00
2.767e+03 4.139e+00
2.903e+03 5.377e+00
3.064e+03 4.023e+00
3.114e+03 4.015e+00
3.142e+03 3.980e+00
3.195e+03 4.963e+00
3.213e+03 5.100e+00
3.224e+03 4.945e+00
3.361e+03 3.923e+00
3.491e+03 8.485e+00
3.524e+03 5.919e+00
3.559e+03 5.394e+00
このような時系列のデータフレームがあり、timeを0から3600まで0.05刻みに補完したうえで、右列に0を追加したいです。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:/新しいフォルダー/南大西洋2015081700/c.py", line 224, in <module> simple_check(ROOT_PATH) File "C:/新しいフォルダー/南大西洋2015081700/c.py", line 77, in simple_check n=len(time_list[i])/0.05 IndexError: arrays used as indices must be of integer (or boolean) type
該当のソースコード
python
1import pandas as pd 2import numpy as np 3 4sec=np.arange(40, 41, 0.05) 5rn=np.zeros(21) 6list3 = [ item for pair in zip(sec, rn) for item in pair] 7#print(list3) 8list3 = np.array(list3).reshape(-1, 2) 9print(list3) 10 11time_list = [4.080e+01, 5.542e+00] 12for d, f in zip(time_list,list3): 13 if (time_list[d][0]==list3[f][0]): 14 time_list[d][1]=list3[f][1]
試したこと
実現したいことから簡略化しました。40~41秒の0.05秒刻みのリストと0を並べてリストを結合させ、time_listの40.8秒時の値が置換できるかどうか試してみましたがうまくいきませんでした。ご教授お願いいたします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件