前提・実現したいこと
99x40のリスト:predataがあります.
これに指定の行に1x40の配列を挿入して最終的には105x40の配列:resDにしたいと考えています.
配列を挿入したい列が,最終的な配列の1,7,96,100,104,105行:zeroRowです.
どのようにしたらよいかご教示いただけないでしょうか.
よろしくお願いいたします.
発生している問題・エラーメッセージ
xの繰り返し回数を99でforループをまわした場合 resD繰り返し回数が105回まで達せず,resDのサイズが102x40となってしまう xの繰り返し回数を105でforループをまわした場合 predataのサイズを繰り返し回数が超えてしまい下記のエラーが発生する IndexError: list index out of range
該当のソースコード
Python
1predata = np.arange(0, 3960).reshape(99, 40).tolist() 2resD = [] 3zeroRow = [0, 6, 95, 99, 103, 104] 4zeroarr = np.linspace(0, 0, 40).tolist() 5for x in range(np.array(predata).shape[0]): 6 rr = np.array(resD).shape[0] 7 print(rr) 8 if x in zeroRow: 9 resD.insert(rr, zeroarr) 10 resD.insert(rr+1, predata[x]) 11 12 else: 13 resD.insert(rr, predata[x])
試したこと
繰り返し回数を変えてやってみましたが,上記のようなエラーが発生してしまっております.
補足情報(FW/ツールのバージョンなど)
開発環境 spyder 4
Pythonバージョン 3.8
OS Win 10
回答2件
あなたの回答
tips
プレビュー