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

Pandas 如何从返回元组(col_a,col_b)的向量函数填充两列,pandas,numpy,vectorization,array-broadcasting,Pandas,Numpy,Vectorization,Array Broadcasting,下面的代码抛出一个错误 def test(throwaway): return(1,2) df['prices_study'], df['prices_bench'] = list(map(dates_ok, df.date_announce)) 我知道我可以单独创建每一列,但肯定有一种方法可以将其浓缩?IIUC: 使用splat将map对象解压缩到zip df = pd.DataFrame(1, range(4), [*'abc']) def test(_): return (2

下面的代码抛出一个错误

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

df['prices_study'], df['prices_bench'] = list(map(dates_ok, df.date_announce))
我知道我可以单独创建每一列,但肯定有一种方法可以将其浓缩?

IIUC:

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

test
在这里做什么?显然,什么也没有。你能提供一些样本数据吗?3-5排就够了,那家伙怎么说