驚くほど簡単な技術系健忘録

驚くほど簡単な技術系健忘録

アプリやWebサービス、RPAを作る上での健忘録を書いていきます。

pandasで条件に合わせてデータを書き換える

■lambdaを利用する方法

#0,1でフラグを立てる時には便利
#columnsの値が'ok'の場合colums1を1にしてそれ以外の場合には0にする
df['column1'] = df['column2'].apply(lambda x: 1 if x == 'ok' else 0)


■maskを利用する方法

#条件を満たす場合のみ値を変更
#columnsの値が'ok'の場合colums1を1にしてそれ以外の場合にはそのまま
df['column1'] = df['column1'].mask(df['column2'] == 'ok', 1)


■whereを利用する方法

#maskの反対で条件を満たさない場合にのみ値を変更
#columnsの値が'ok'の場合colums1はそのままにして'ok'ではない場合に1にする
df['column1'] = df['column1'].where(df['column2'] == 'ok', 1)


参考の記事はこちら
note.nkmk.me


なんだかSQLに慣れているとこのコードが結構違和感。