3

大規模な Matlab データセットがあります (1,924,014 x 5; ~73.4 MB)

Date          id            a           b           c
...
733234        1467          1.2656      1.2718      51.16    
733235        1467          1.2732      1.2794      51.16    
733236        1467          1.2781      1.2844       51.5    
733236        1467            1.26         NaN        NaN    
733237        1467          1.3084         NaN        NaN    
733237        1467          1.3205         NaN        NaN    
733238        1467          1.3125      1.3188      53.85    
733238        1467             1.3         NaN        NaN    
...

Date形式の日付datenumです。特定の Date+id ペアに複数の行がある場合があるため、一意の+ペアの最後の 3 つの列
を平均化する (s を無視する) 必要があります。NaNDateid

私が望む出力は

Date          id            mean_a      mean_b      mean_c
...
735234        1467          1.2656      1.2718      51.16    
735235        1467          1.2732      1.2794      51.16    
735236        1467          1.2691      1.2844       51.5    
735237        1467          1.3144         NaN        NaN    
735238        1467          1.3062      1.3188      53.85    
...

使えると思っていた

grpstats(myDataset, {'Date', 'id'}, 'mean')

しかし、それは法外に遅いです。このタスクは 60 秒以内に完了できると思います。grpstatsGroupCount 列を追加し、各観測に名前を追加していると思いますが、これは必要ありません。

どうすればこれをすばやく行うことができますか? を使用するかどうかに関係なく、私はアイデアを受け入れますgrpstats

4

1 に答える 1