Как заполнить два столбца из векторной функции, которые возвращают кортеж (col_a, col_b) - PullRequest
0 голосов
/ 26 февраля 2019

В приведенном ниже сообщении выдается ошибка

def test(throwaway):
    return(1,2)

df['prices_study'], df['prices_bench'] = list(map(dates_ok, df.date_announce))

Я понимаю, что могу создать каждый столбец отдельно, но наверняка есть способ сжать это?

1 Ответ

0 голосов
/ 27 февраля 2019

IIUC:

Используйте сплат для распаковки объекта map в пределах zip

df = pd.DataFrame(1, range(4), [*'abc'])

def test(_): return (2, 3)

df['d'], df['e'] = zip(*map(test, df.index))

df

   a  b  c  d  e
0  1  1  1  2  3
1  1  1  1  2  3
2  1  1  1  2  3
3  1  1  1  2  3
...