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値とする。

利用例

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 項目を単位に quantityamount 項目の平均値を計算し、 qttTotalamtTotal という項目名で出力する。

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 項目を単位に quantityamount 項目の平均値を計算し、 qttTotalamtTotal という項目名で出力する。 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

顧客項目を単位としない例

quantityamount 項目の平均値を計算し、 qttTotalamtTotal という項目名で出力する。

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

関連メソッド