前提・実現したいこと
データフレームに含まれるデータに対して、複数の閾値を基に別の数値に変換するスクリプトを書いています。
maskやwhereを使って、データ変換を試みてはいるのですが、うまくいかず。
良い方法、ご存知でしょうか?
ex)df
Date A B C D E .....
: : : : : : .....
2017/5/31 -0.79 0.02 0.07 0.31 -1.02 .....
2017/6/30 -1.01 -0.80 -0.11 0.25 1.18 .....
2017/7/31 -0.73 0.50 0.10 0.41 1.19 .....
: : : : : : .....
2017/12/31 -0.31 0.35 0.01 0.61 1.29 .....
ex)閾値条件
値が-0.75未満なら、1
値が-0.75以上-0.25未満なら、2
値が-0.25以上0.25未満なら、3
値が0.25以上0.75未満なら、4
値が0.75以上なら、5
をそれぞれ付与する
単一の条件(例えば、-0.75未満なら1)だった場合、
df1 = df.mask(df >= -0.75)
df_Score1 = df1.mask(df1 < -0.75,1)
で変換できるのですが、複数条件(値が-0.75以上-0.25未満)ではこのやり方が通用しないのではないかと思っています。
補足情報
windows7、python3.6.1を使用しています。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/06 01:57