Python Pandasメモ
Rを先に覚えたので、Rだと簡単に書けるようになったもののそれと同じ事をPython(numpy+pandas)でやりたいときに良いやり方が思いつかない AND ググっても時間がかかる AND 多分すぐ忘れる。
ので特にはまったのをメモしておく。
DataFrame ある条件を満たす行の、あるカラムの値を書き換えたい
Rだと
> df <- data.frame(x=1:5, t=sample(0:1, size=5, replace=T)) > df x t 1 1 0 2 2 0 3 3 0 4 4 1 5 5 0 # t==0 の行だけ t=-1 にしたい > df[df['t']==0, ]$t = -1 > df x t 1 1 -1 2 2 -1 3 3 -1 4 4 1 5 5 -1
PandasのDataFrameでは
df['t'] = df.apply(lambda row: (1 if row['t']==1 else -1), axis=1)
とりあえずやりたいことはできた