You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python函数返回的多个值存入Pandas DataFrame中

解决方法

你当前得到Series的原因是:apply 默认会把scrape函数返回的二元组作为单个元素存储,不会自动拆分列,你可以用以下两种方法实现需求:

方法1:配合pd.Series拆分返回结果

# 对爬虫返回的元组进行拆分,得到两列结果
df[['title_box', 'price']] = df['list_urls'].apply(lambda x: pd.Series(scrape(x)))
# 提取需要的三列生成最终DataFrame
final_df = df[['list_urls', 'title_box', 'price']]

方法2:使用apply的result_type参数(pandas 1.0+版本支持)

这种写法更简洁,不需要额外调用pd.Series:

df[['title_box', 'price']] = df['list_urls'].apply(lambda x: scrape(x), result_type='expand')
final_df = df[['list_urls', 'title_box', 'price']]

小提示:你当前的scrape函数中,正常请求时price是bs4的ResultSet对象,请求异常时是字符串No,两类数据类型不统一,后续如果需要做数据清洗、存储操作,可以在函数内提前把正常返回的price转成字符串或列表格式,避免后续处理报错。

内容的提问来源于stack exchange,提问作者mirko_vucinic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 08:54:08