5.3. mavg 項目値の平均¶
f=
で指定した項目の平均値を計算する。
k=
と f=
で指定した項目以外については、どの行が出力されるか>は不定であることに注意されたい。
パラメータ¶
i= : 型=str , 任意(default=標準入力)
入力データを指定する。
o= : 型=str , 任意(default=標準出力)
出力データを指定する。
f= : 型=str , 必須
ここで指定した項目(複数項目指定可)の値が集計される。:(コロン)で新項目名を指定可能。例)f=amount:average
k= : 型=str , 任意(default=キーブレイク処理しない)
集計の単位となる項目(複数項目指定可)名リストを指定する。
n= : 型=bool , 任意(default=False)
NULL値が1つでも含まれていると結果もNULL値とする。
共通パラメータ¶
i= , o= , assert_diffSize= , assert_nullkey= , assert_nullin= , assert_nullout= , nfn= , nfno= , x= , q= , tmppath= , precision=
利用例¶
importと入力データ(CSV)の準備
1import nysol.mcmd as nm 2 3with open('dat1.csv','w') as f: 4 f.write( 5'''customer,quantity,amount 6A,1,5 7A,2,20 8B,1,15 9B,,10 10B,5,20 11''')
基本例
customer
項目を単位に quantity
と amount
項目の平均値を計算し、 qttTotal
と amtTotal
という項目名で出力する。
1nm.mavg(k="customer", f="quantity:qttTotal,amount:amtTotal", i="dat1.csv", o="rsl1.csv").run() 2### rsl1.csv の内容 3# customer%0,qttTotal,amtTotal 4# A,1.5,12.5 5# B,3,15
NULL値がある場合の出力
customer
項目を単位に quantity
と amount
項目の平均値を計算し、 qttTotal
と amtTotal
という項目名で出力する。
n=True
オプションを指定することで、NULL値が含まれている場合は、結果もNULL値として出力する。
1nm.mavg(k="customer", f="quantity:qttTotal,amount:amtTotal", n=True, i="dat1.csv", o="rsl2.csv").run() 2### rsl2.csv の内容 3# customer%0,qttTotal,amtTotal 4# A,1.5,12.5 5# B,,15
顧客項目を単位としない例
quantity
と amount
項目の平均値を計算し、 qttTotal
と amtTotal
という項目名で出力する。
1nm.mavg(f="quantity:qttTotal,amount:amtTotal", i="dat1.csv", o="rsl3.csv").run() 2### rsl3.csv の内容 3# customer,qttTotal,amtTotal 4# B,2.25,14
関連メソッド¶
mhashavg ハッシュ法による項目値の平均 : 集計キーを事前に並べ替えなくてよい分高速である。
msum 項目値の合計 : 合計バージョン。
mstats 一変数の統計量算出 : その他の多様な統計量を求めるのであればこれ。