Null値の入ったデータに対してiterrows()を使って行ごとに条件分岐を行い、rateの列に、
Null値が無い時は計算を、
Null値がある時は0を代入したいです。
ですがそもそも”rate”列を挿入できず、分岐もうまく行っていないようです。
どなたかどの点に問題があるかご教授いただけますと幸いです。
python
1import pandas as pd 2#DataFrameを生成するコード 3df = pd.DataFrame([[400, 300], [500, 200], [None, 3],[300,None]], columns=['unit_price', 'unit_cost']) 4 5for i, r in df.iterrows(): 6 if not pd.isnull(r["unit_cost"]): #Null値がない時には利益率を計算 7 r["rate"]=(df['unit_price'] - df['unit_cost']) / df['unit_price'] 8 9 else:#Null値がある時は0を入力 10 r["rate"]=0 11#Null箇所確認 12df[df["unit_cost"].isnull()]
出力結果
python
1 2 unit_price unit_cost 33 300.0 NaN 4
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/05/05 12:50
2021/05/05 12:56