前提・実現したいこと
初歩的な質問で本当にすみませんが、
pandasのwhereの条件式でよくわからないところがあるので教えていただきたいです。
該当のソースコード
python
1import pandas as pd 2 3 4df = pd.DataFrame({'A': [1,2,3,-1,2,-2,5],'B': [3,3,6,-5,2,2,-1]}) 5 6df['A'].where(df['A'] > 0, df['B']) 7#0 1 8#1 2 9#2 3 10#3 -5 11#4 2 12#5 2 13#6 5
この場合組み込み関数のifと同じ感覚で捉えると、列Aの各値において0より大きい値を列Bの値で上書きするように思うのですが、実際の動き方としては、0より小さい値に対して上書きされています。比較演算子><が自分の認識と逆の挙動を取っているので混乱しております。
whereの記法について調べてみたのですが、残念ながらこれといった記述も見られず、ぜひ教えていただければと質問させていただきました。よろしくお願いいたします。
![guest](/img/icon/icnUserSample.jpg)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/25 21:45