أضف فئة استنادًا إلى مجموعة من قيم الأعمدة في pandas python

-2

لدي DataFrame من الباندا:

 df =
        id mu 
        1 -5
        2 -3
        3 0
        4 3
        5 25

كيف يمكنني تعيين "تصنيف" عمود آخر بناءً على نطاق معين من قيم العمود "mu":

df['rating'] = 'A' if -1 >= mu <=1

df['rating'] = 'B' if -2 >= mu <=2

df['rating'] = 'C' if -3 >= mu <=3

df['rating'] = 'D' if -4 >= mu <=4

df['rating'] = 'F' if -5 < mu > 5

1 إجابة

0

لقد وجدت الحل باستخدام pd.cut ().

تغير إلى القيم المطلقة.

 df['abs_mu'] = df.mu.abs()

df=

      id  mu  abs_mu
    0   1  -5       5
    1   2  -3       3
    2   3   0       0
    3   4   2       2
    4   5  25      25

ثم pd.cut ()

pd.cut(df.abs_mu,[0, 1, 2, 3, 4, 5, np.inf],labels=['A','B', 'C', 'D', 'E', 'F'], include_lowest=True)

عائدات:

0    E
1    C
2    A
3    B
4    F
Name: abs_mu, dtype: category
Categories (6, object): [A < B < C < D < E < F]

آسف ، أشعر بالغباء. شكرا على وقتك.

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام