[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:003667] GPhys#mean などで "min_count" を使いたい



神代です.

続けてすみません, もう一つ, GPhys で一発でできるといいなあと思う
ことがあります.

平均などを計算するとき, 欠損の多い場合はマスクしたいと思うことが
よくあります. NArrayMiss では mean などに "min_count" オプション
がありますが, GPhys#mean でそれを使おうとすると, 現状ではエラー
になります.

以下のようにするとオプションが渡せるようになると思うのですが, そ
もそもGPhysレベルではそういった使い方は想定していないでしょうか?

--- gphys.rb_orig	2013-11-14 23:09:50.031188161 +0900
+++ gphys.rb	2013-12-16 22:51:50.077265537 +0900
@@ -937,8 +937,13 @@
       for f in VArray::NArray_type3_methods
 	 eval <<-EOS, nil, __FILE__, __LINE__+1
 	 def #{f}(*args)
+            arg_hash = args.pop if args[-1].is_a?(Hash)
             args = args.collect{|i| @grid.dim_index(i)}
+            if arg_hash
+	    result = self.data.#{f}(*args,arg_hash)
+            else
 	    result = self.data.#{f}(*args)
+            end
             if Numeric===result || UNumeric===result
 	      result
 	    else

--
神代 剛 (こうしろ つよし)
気象研究所気候研究部第四研究室 支援研究員