Функция Python Pandas возвращает несколько значений и помещает их в столбцы - PullRequest
0 голосов
/ 24 апреля 2018

У меня есть две функции, как показано ниже. Второй работает, но первый не работает. Почему?

import pandas as pd

df = pd.DataFrame(data = {'a': [1, 2, 3], 'b': [4, 5, 6]})

def add_subtract_list(a, b):
  return [1,2,3,4]
add_subtract_list(5,8)

df[['c','d','x','y']] = df.apply(
    lambda row: add_subtract_list(row['a'], row['b']), axis=1)

ниже работает функция. Именно с этой страницы

import pandas as pd

df = pd.DataFrame(data = {'a': [1, 2, 3], 'b': [4, 5, 6]})



def add_subtract_list(a, b):
  return [a + b, a - b]

df[['sum', 'difference']] = df.apply(
    lambda row: add_subtract_list(row['a'], row['b']), axis=1)

1 Ответ

0 голосов
/ 25 апреля 2018

Обновите вашу функцию так, чтобы она возвращала Серии панд вместо списка питонов.

def add_subtract_list(a, b):
  return pd.Series([1,2,3,4])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...