首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在一个函数中返回两个数据帧

如何在一个函数中返回两个数据帧
EN

Stack Overflow用户
提问于 2019-01-31 20:33:58
回答 2查看 3.3K关注 0票数 0

我正在通过api抓取数据,我需要通过1个函数同时获取2个数据帧。但是,我在下面编写的代码无法完成此任务。如何修改才能在一个函数中获得两个dfs?

代码语言:javascript
运行
复制
def get_qa(question):
num = 1
row = []
people = []
for ans in question.answers:
     if num< question.answer_count:
            a = get_answer_data()
            b = get_author()
            s = {**a,**b}
            row.append(s)
            pt = get_people_detail()
            people.append(pt)
            num+=1
            #time.sleep(random.randint(0,2))
df_qa = pd.DataFrame(row)
df_people = pd.DataFrame(people)
return df_qa,df_people

-更新-感谢您的帮助。使用a, b = get_qa(question)后,我可以获得两个dfs successfully.However,我得到的数据帧似乎只接收列表中的最后一项。

代码语言:javascript
运行
复制
<bound method NDFrame.add_prefix of       ans_id                         author_id author_name business  \
0  572182013  16b179b9de836c121ace0aabdd2611a0         钱二胖     市场推广   
1  572182013  16b179b9de836c121ace0aabdd2611a0         钱二胖     市场推广   
2  572182013  16b179b9de836c121ace0aabdd2611a0         钱二胖     市场推广   
3  572182013  16b179b9de836c121ace0aabdd2611a0         钱二胖     市场推广   
4  572182013  16b179b9de836c121ace0aabdd2611a0         钱二胖     市场推广   
5  572182013  16b179b9de836c121ace0aabdd2611a0         钱二胖     市场推广   

df的长度是正确的(原始数据包含6个项目)是由返回引起的问题吗?或者这是我调用函数应该为失败负责的方式?

EN

回答 2

Stack Overflow用户

发布于 2019-01-31 20:40:23

除了缩进之外,我相信你已经处理好了,似乎没有什么问题。在调用函数时,是否同时捕获两个数据帧?你应该试试下面这样的东西。调用该函数将只在输出中显示第一个数据帧。

代码语言:javascript
运行
复制
df_qa, df_people = get_qa(questions)
票数 1
EN

Stack Overflow用户

发布于 2019-01-31 20:37:49

如果您的lhs也是一个元组,那么这实际上应该是有效的。

代码语言:javascript
运行
复制
def get_qa():
    return 4, 5

a, b = get_qa()
print(a, b)

打印输出

代码语言:javascript
运行
复制
4 5
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54460707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档