python - 我正在处理一个银行数据集,我必须只使用 'experience in job' 列的整数部分

标签 python pandas machine-learning

我正在处理一个银行数据集,我必须只使用“工作经验”列的整数部分。我曾通过使用正则表达式定义一个函数并强制转换为整数来尝试此操作,但它不是整数而是存储地址。我做错了什么?

这是我的代码:

def year_converter(x):
    return int(re.search(r'\d+', x).group())    

bank_data['Years in current job'] = bank_data['Years in current job'].apply(lambda x: year_converter)

Before After applying my function

最佳答案

您作为 lambda 的结果传递了函数,这就是为什么它是您“之后”屏幕截图中的结果值。

执行lambda中的函数:

bank_data['Years in current job'] = bank_data['Years in current job'].apply(
    lambda x: year_converter(x))

或直接将其传递给 apply,以便 apply 正确执行它:

bank_data['Years in current job'] = bank_data['Years in current job'].apply(
    year_converter)

关于python - 我正在处理一个银行数据集,我必须只使用 'experience in job' 列的整数部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50069223/

相关文章:

python - Mongodb:检查数组字段是否包含数字或字符串

python - key 错误 : False in pandas dataframe

machine-learning - 过度拟合总是一件坏事吗?

r - 变量在模型中没有级别时出现错误

python - 使用 RandomizedSearchCV 在 sklearn 中进行超参数调整需要花费大量时间

python - 每个唯一列值的天数和扩展评级

python - 从 python 中的函数返回的问题在哪里?

python - 具有缺失值的分类数据中的降维

python - 在Python中的pandas数据框中使用lambda函数使用多种文本格式?

python - 在 pandas MultiIndex 系列中设置值