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

pandas.DataFrame.apply的result_type与raw参数联动不符合文档说明问题

pandas 1.2.4中DataFrame.apply返回值异常的原因

这个现象是pandas 1.2.4版本apply方法不同处理分支的逻辑优先级不一致导致的,和raw参数对应的内部处理逻辑有关,具体如下:

  • raw=False场景:此时传入自定义函数的是单列Series对象,result_type="reduce"的规则正常生效,plus_2返回的列表会被识别为单列的结果值,所有列的计算结果最终拼接为索引是A、B的Series,符合文档描述。
  • raw=True场景:此时传入函数的是numpy.ndarray类型的列数据,1.2.4版本该分支的实现存在缺陷,result_type="reduce"的优先级低于返回值维度推断逻辑,plus_2返回的列表会被误识别为多列的行级结果,最终拼接为DataFrame,和预期不符。

验证方案:你可以将plus_2的返回值修改为标量(比如返回sum(x)+2),此时无论raw取何值,result_type="reduce都会返回符合文档描述的Series对象。

该问题属于pandas 1.2.4的已知边缘缺陷,在1.3及以上版本中已经修复,升级pandas版本即可得到一致的返回结果。

内容的提问来源于stack exchange,提问作者G.T.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:15:05