首页 > 解决方案 > 如何从返回元组的向量函数中填充两列(col_a,col_b)

问题描述

下面抛出一个错误

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

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

我知道我可以单独创建每一列,但肯定有办法压缩它吗?

标签: pandasnumpyvectorizationarray-broadcasting

解决方案


国际大学联盟:

使用 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

推荐阅读