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

使用Pandas获取ColumnB最后有效单元格索引及idxmax报错解决

解决Pandas中获取列最后有效单元格索引的问题

我需要遍历DataFrame的所有行并提取值,核心需求是拿到ColumnB列最后一个有效单元格的索引(对应示例数据里的索引3)。

一开始误用了df['columnNameB'].idxmax(),结果触发报错:

reduction operation 'argmax' not allowed for this dtype

尝试添加axis=1或axis='columns'参数后也没能解决问题。后来才反应过来,idxmax()的作用是找Series中最大值对应的索引,而我的列是字符串类型,且需求根本不是找最大字符串,而是最后一个非NaN值的位置,完全用错了方法。

示例数据:

columnA    columnB                   columnC
0   book      www.amazon.com=page?1..   onstock
1   headphone www.amazon.com=page?1..   outstock
2   NaN       www.alibaba.com..         NaN
3   NaN       www.amazon....            NaN
4   lightbulb    NaN                    inStock

最终通过Series的last_valid_index()方法解决了问题,这个方法会直接返回列中最后一个非空(非NaN)值的索引:

fileCSV['columnURLnames'].last_valid_index()

执行后得到预期的索引3,顺利完成行遍历的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:30:43