pandasで指定の列を置換する=ゼロ、イチ編



あんまり詳しくないpandasで苦戦していますが、以下のような状態のときにどうやるか、っていうのを調べたらあんまり方法がわからなかったんで、メモ。

・特定の列の中身が空じゃない場合に1を代入する

結論から書くと、簡単な方法で対応できました。
df['data'] = df['data'].dropna().notnull().astype(int)
dropnaで空の列を削除、
notnullでbool型に変更した上で、
astype(int)にすると、trueが1になる。

ちなみに、上記は空の場合は空(nan)のままにしたかったのでdropnaしてますが、
そこをやらないと空の場合は0になります。

ゼロイチのときにしか使えない手法ですが、とってもシンプルになって最高。