Я пытаюсь создать новый столбец в кадре данных pandas на основе определенной пользователем функции, используя df.apply с лямбда-выражением. Фрейм данных состоит из 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, который берет столбец, который содержит списки в каждой ячейке и выполняет итерацию по списку, выполняя некоторые строковые функции для удаления определенных подстрок. Вот почему я изначально решил использовать лямбду, так как ее было проще всего написать как функцию.
В ошибке просто указано, что недостаточно памяти для создания массива.
Все решения и предложения приветствуются.