首页 > 解决方案 > 如何从迭代第三个数据帧的两列的函数返回两个数据帧?

问题描述

我试图从一个函数中返回两个数据帧,我正在迭代另一个数据帧的两列,但我收到一条值错误消息。前任:

data={'source':['a','b','c','d'], 'target':['e','f','g','h']}
df=pd.DataFrame(data=data)

def func (source,target,sources, targets):
    sources=sources.append(source)
    target=targets.append(target)
    return sources, targets 

sources=pd.DataFrame()
targets=pd.DataFrame()
sources,targets=[func(i,j,sources,targets) for i,j in zip(df['source'],df['target'])]

当我运行此代码时,我收到此错误:

valueerror: too many values to unpack (expected 2)

任何帮助表示赞赏

编辑我知道这可以在不迭代的情况下更容易完成,但我需要这样做,因为在实际代码中,我必须从数据库中获取有关每个源和目标的一些信息,然后将该信息附加到源数据框

标签: pythonpandasfunctiondataframezip

解决方案


推荐阅读