首页 > 解决方案 > 如何使用 apply() 函数替换值。?

问题描述

我正在尝试使用该apply()方法更新“年龄”列的值。我想将年龄更新为 2 个特定值。这就是功能。

def new_age(a):
    if a<25:
       return 'pro'
    else:
       return 'notpro'

当我通过应用函数df['Age'].apply(new_age)时,它工作正常,但是当我尝试使用它更新“年龄”列的值时,df['Age']=df['Age'].apply(new_age)它返回 NaN。我能得到一些帮助吗?编辑:我尝试了 map() 函数。它没有做得更好。

标签: python-3.xpandas

解决方案


尝试这个:

import numpy as np

df['Age'] = np.where(df['Age'] < 25, 'pro', 'notpro')

这将比在每个元素上调用函数要快得多。


推荐阅读