pandas seriesの処理について質問があります。
pandasでnewというカラムにexistカラムの条件ごとに値を代入したいです。
イメージではこのようなnewカラムを作成したいです。
exist new
abc 0
def 0
xyz xyz
df['new']=df['exist'] if 'X' in df['exist'] else 0
この時、df['new']が全て0になってしまいます。
if文の中でdf['exist']を使っているのが原因だということまでは分かったのですが、なぜうまくいかないのか教えていただけますでしょうか。
ちなみに、
df['new']=df['exist'].apply(lambda x:x if 'X' in x else 0)
としたところ、イメージ通りの操作をすることができました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/10 11:36