Python更新变量级别

Python更新变量级别,python,dataframe,Python,Dataframe,我有一个分类变量:df['reason'],有5个级别(0-4),我想将级别1和级别3分组到一个称为“水”的新级别,将级别2和级别4分组到“非水”级别,而不考虑级别0。所以我想在python中将它从5级减少到3级。我使用了for循环,但它没有返回正确的结果。谢谢你的意见 for i in df['reason']: if i==0: df['reason']='Not failed' elif i in [1,3]: df['reason']='W

我有一个分类变量:df['reason'],有5个级别(0-4),我想将级别1和级别3分组到一个称为“水”的新级别,将级别2和级别4分组到“非水”级别,而不考虑级别0。所以我想在python中将它从5级减少到3级。我使用了for循环,但它没有返回正确的结果。谢谢你的意见

for i in df['reason']:
    if i==0:
        df['reason']='Not failed'
    elif i in [1,3]:
        df['reason']='Water'
    else:  
        df['reason']='Non-water'

请分享您所做的,代码,然后我们将能够帮助您。请用您尝试过的代码更新您的问题。欢迎使用SO。请花点时间阅读和阅读该页面上的其他链接。这不是一个讨论论坛或教程服务。
level_map = {'level1': 'water', 'level3': 'water',
             'level2': 'Non-water', 'level4': 'Non-water', 
             'level5': 'level5'}

df['new_level'] = df['level'].apply(lambda x: level_map[x])