「あるコラムに着目した際、そのコラムの値が特定の条件には手は待った時、その値をラベリングする」ことをしたいです。
イメージ的には、「温度が0-5度の時は、Class1」「温度が10-15度の時は、Class2」
「温度が20-30度の時は、Class3」のように、ラベリングするイメージです。
ただ、下記のようにfor文でのやり方はもう習得しているのですが、非効率すぎるので、より効率的なやり方を教えていただきたいです。
下記の例をもとに、教えていただけると幸いです。
下記のデータフレーム
Python
1# ベースとなるデータフレーム 2df = pd.DataFrame(data=[1,2,3,4,5,6,7,8], 3 index=list('abcdefgh'), columns=["num"]) 4 5 6# ラベリング 7df["class"] = None 8for i in range(len(df)): 9 if (df["num"].iloc[i] >= 1) & (df["num"].iloc[i] < 3): 10 df["class"].iloc[i] = 1 11 12 elif (df["num"].iloc[i] >= 3) & (df["num"].iloc[i] < 4): 13 df["class"].iloc[i] = 2 14 15 elif (df["num"].iloc[i] >= 4) & (df["num"].iloc[i] < 9): 16 df["class"].iloc[i] = 3 17
どうぞ、よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。