1

今夜はしばらくこれに悩まされています。

numpy長さが異なるデータのサブ配列を 持つ配列があります。

segements_np = 
[ [   30.    20.    20.    30.    40.    50.    50.    60.    50.    70.
      70.    60.    70.    60.    80.    80.    90.    90.    90.   100.
     100.   110.   120.   560.   510.   460.   430.   380.    380   370
     360.   320.   320.   300.   250.    80.    80.    80.    60.    70.
      80.    80.    70.    70.    60.    70.    60.    70.    70.    70.
      70.    70.    60.    60.    60.    70.    50.    50.    50.    40.
      40.    40.    40.    30.    40.    40.    40.    40.    40.]

  [   30.    40.    50.    50.    60.    50.    70.    70.    60.    70.    
     560.   510.   460.   430.   380.   360.   320.   320.   300.   250.
      40.    40.    40.    30.    40.    40.    40.    40.    40.]]

データ ファイルをロードするときの各セグメントのサイズも、セグメントの数もわかりません。データ ファイルをこれらのセグメントに分割するスクリプトがあります。

それらに対してさまざまな計算を行いたいので、numpy配列です。たとえば、私はしたいですsegments_np.max()

ただし、もちろんサイズが異なるため、これらのコマンドはそのままでは機能しません。

配列サイズ (ゼロ) を、セグメント化されたデータでは満たされないことがわかっているサイズに初期化してから、実際のデータ値をその (初期化された配列) に追加しようとしました。したがって、各サブ配列のサイズを正規化します。ただし、これを正しく初期化できず、初期化された配列にデータをコピーできません。

私も試しました:

peaks_np = array([ segments_np.max(i) for i in range( len(segments_np) ) ])

それらは機能し、私は何か間違ったことをしていますか、それともこれを行うためのより良いアプローチがありますか?

ありがとう!!!

4

1 に答える 1