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

为何Pandas中apply使用axis='columns'而非axis='rows'?

Pandas中apply方法axis参数的理解(葡萄酒星级转换案例)
  • 首先得明确Pandas里apply的axis参数不是按直观的"行/列"方向定义,而是按操作维度区分:

    • 当设置axis='columns'(等价于axis=1)时,apply会逐行把整行数据传递给自定义函数。这正好匹配你的stars()函数需求——需要同时获取同一行的country和points字段计算星级,此时传入的是一个以列名为索引的Series,你可以直接通过row['country']、row['points']提取对应值。
    • 若设置axis='rows'(等价于axis=0),apply会逐列传递整列数据,也就是把某一列的所有行数据传给函数,这显然无法满足stars()同时获取同一行两个字段的逻辑,完全不符合需求。
  • 简单记忆技巧:axis='columns'对应"处理每一行"(跨列整合数据),axis='rows'对应"处理每一列"(跨行整合数据)。本质上axis指定的是函数遍历的维度方向,axis=1意味着沿着列的方向遍历,每次取一行的全量列数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:57:04