60個ごとの平均値を出す際に条件にそぐわないデータは除外して、行くプログラムなのですが42行目でエラーが出でしまうのですがどうしたら解決できるでしょうか。ご回答お願いいたします。
python
1##1s値を60個ごとに足す 2import pandas as pd 3import numpy as np 4 5 6##1秒値のcsvファイルの読み込み 7df=pd.read_csv('20070. - 0. 番号リスト_1s.csv',header=None,encoding='utf=8') 8##2列のデータのマイナス値を0にする 9df1=df.iloc[:,1:2].where(df>= 0,0) 10##2列目の列名を指定 11df1.columns=['データ'] 12##df1に列名「」を追加(3列目のプラス値を0にする) 13df1[None]=df.iloc[:,2:3].where(df<=0,0) 14##条件に合う要素数をカウント 15##df1の60個の要素当たりの和を計算 16df2=df1.groupby(df1.index // 60).sum() 17##print(df2) 18##個体数(平均値の分母)を条件を除外し指定。 19a=0 20b=0 21c=-1 22##d = pd.DataFrame(index=[],columns=[]) 23d = pd.Series(0,range(1440)) 24##d = np.arange(0,14400,1) 25for x in range(86400): 26 a += 1 27 if df.iloc[x,2] < 0: 28 b += 1 29 if a==60: 30 a=0 31 c += 1 32 ##for i in range (14400): 33 ##d = d.append(b) 34 d[c]=b 35 df2['m']=d 36 b=0 37##e = list(map(float, d)) 38##print(d) 39d.to_csv('output.csv') 40##print((df.iloc[:,1:2] >= 0).sum()) 41print(d) 42e=df2[['データ','m']].div(axis=1) 43print(df2) 44print(e) 45e.to_csv('20070725_1m3.csv',index=()) 46 47
エラーはTypeError: f() missing 1 required positional argument: 'other'です。42行目で出ています。
tracebackぜんぶ載せてみてください。あと、掲載しているコードが正しいのかどうか(本当にエラーが出たものなのか)も確認してほしいです(コード中にfがないので、どうやって出てきたのか見当がつかない)
あなたの回答
tips
プレビュー