如何从vector函数填充返回元组的两列(col_a,col_b)

问题描述 投票:1回答:1

下面抛出一个错误

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

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

我知道我可以单独创建每个列但是肯定有一种方法可以压缩它吗?

pandas numpy vectorization numpy-broadcasting
1个回答
1
投票

达蒙:

使用splat在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
© www.soinside.com 2019 - 2024. All rights reserved.