首页 > 解决方案 > 应用 lambda 函数在熊猫数据框中创建新列时出现内存错误

问题描述

我正在尝试通过将 df.apply 与 lambda 一起使用,基于用户定义的函数在 pandas 数据框中创建一个新列。数据帧是 241573 行,在语句完成之前出现内存错误。

当前代码示例:

def func(col1,col2,col3)
    if "string1" in col2
        return col3
    else "string2" in col2
        return col1

df.apply(lambda x: func(x["column1"],x["column2"],x["column3"]), axis = 1)

在上面的示例中,我已经简化了函数,因此对于不使用上述实际函数格式的任何解决方案,还包括另一个 elif,它采用包含每个单元格中的列表的列并遍历列表,执行一些字符串函数以删除某些子字符串. 这就是我最初选择使用 lambda 的原因,因为它最容易编写为函数。

该错误只是说明没有足够的内存来创建数组。

欢迎所有解决方案和建议。

标签: pythonpandasdataframelambdaapply

解决方案


推荐阅读