前提・実現したいこと
Python
要素がすべて0の配列で、スライスを指定して値を代入したい
発生している問題・エラーメッセージ
代入した変数の当該スライスをprintしても、中身が0のままになってしまいます。
Python
1#下記ソースコードより 2print(FSl_r[j: algo01_l[i]]) 3#[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] 4
該当のソースコード
Python
1 2#algo01_l = [35, 160, 195, 250, 270, 310, 385, 430, 465, 530, 561] breakpointのインデックスを収めたリスト 3#FS_l(時系列データ、長さ561の1次元配列) 4#FS_lについて、breakpoint間の値の平均値を求め、配列FSl_rに収める 5 6j = 0 #前のbreakpointのインデックス 7FSl_r = np.array([0]*len(FS_l)) #ただ区間の平均値を入れるだけの配列 8#print(FSl_r.flags) 9#print(type(FSl_r)) 10#print(len(FSl_r)) 11#print(id(FSl_r)) 12 13for i in range(len(algo01_l)): 14 Ii = FS_l[j: algo01_l[i]] #区間iの配列 15 mi = np.mean(a= Ii) #平均をとる 16 #print(mi) 17 FSl_r[j: algo01_l[i]] = mi #区間Iiの部分にすべて平均値を代入したい 18 #print(j, algo01_l[i]) 19 print(FSl_r[j: algo01_l[i]]) 20 #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]とすべて0のスライスが表示されます。 21 j = algo01_l[i] #jを更新 22
試したこと
配列の書き込みができない状態にはなっていないことは確認しました。
Jupyter Lab上、別のセルで適当に配列を作りスライスを指定して代入はできました。
目的を達成するのはappend?でもできるのでしょうか。
補足情報(FW/ツールのバージョンなど)
Python 3.6.8
Jupyter Lab 0.35.4
回答1件
あなたの回答
tips
プレビュー