Добавить столбец в фрейм данных из .applyPython

Программы на Python
Ответить
Anonymous
 Добавить столбец в фрейм данных из .apply

Сообщение Anonymous »

У меня возникла небольшая проблема с манипулированием фреймом данных для создания новой переменной функции других.
Я могу вычислить ее, но не агрегировать обратно в исходный фрейм данных.
Здесь у меня есть мой тестовый фрейм данных и мой new_column

Код: Выделить всё

test = pd.DataFrame({'name': ["john", "jack", "albert"],
'day': ["2018-01-01", "2018-01-02", "2018-01-03"],
'result': ['c("7", "6", "")', 'c("3", "6", "10")', 'c("4", "3", "")']})

def update_result(row, x):
return row[x].replace("c(", "").replace(")","").replace("\"","").replace(" ","").split(",")

new_column=test.apply(lambda row: update_result(row,2),axis=1)
Но когда я пытаюсь добавить new_column в data_frame, я получаю сообщение об ошибке об управлении копией. Знаете ли вы, как правильно агрегировать этот столбец?

Код: Выделить всё

test['result2']=new_column
Я получил:

Код: Выделить всё

ValueError: Wrong number of items passed 3, placement implies 1
и

Код: Выделить всё

 # check if we are modifying a copy
Спасибо за помощь.

Подробнее здесь: https://stackoverflow.com/questions/488 ... from-apply
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»