文法的な部分でつまづいています。
train_df[payment_)の中身に応じてcounterの数字をあげていくようにしていきたいと思い下のコードを試したところ下記のようなエラーが出ました。
要素一つ一つに対しての計算がしたいですがうまくいっていないようです。
ご教授お願い致します。
counter=0 if train_df["payment_9"]>0: counter+=1 if train_df["payment_8"]>0: counter+=1 if train_df["payment_7"]>0: counter+=1
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-9-4c007e03de50> in <module> 1 counter=0 ----> 2 if train_df["payment_9"]>0: 3 counter=1 4 if train_df["payment_8"]>0: 5 counter+=1 /anaconda3/lib/python3.7/site-packages/pandas/core/generic.py in __nonzero__(self) 1476 raise ValueError("The truth value of a {0} is ambiguous. " 1477 "Use a.empty, a.bool(), a.item(), a.any() or a.all()." -> 1478 .format(self.__class__.__name__)) 1479 1480 __bool__ = __nonzero__ ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
追記です
この場合
0に対してcounter=2
payment9>0 でcounter=1になり
payment8>0 でcounter=2
payment7が-1なのでcounterの計測が終わり counter=2
1に対してcounter=0
2に対してcounter=0
3に対してcounter=0
4に対してcounter=0
このような手順が理想です
回答1件
あなたの回答
tips
プレビュー