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

如何遍历DataFrame列?求静态列列表转动态实现方案

遍历DataFrame所有列的动态实现方案

嘿,这个问题我经常碰到!你已经摸到门道了——用df.shape[1]获取列数是对的,只是它返回的是单个整数,没法直接放进for循环里遍历。给你几个实用的动态方案,按需选就行:

  • 方案1:用range()生成列索引序列
    这是最直接对应你需求的方式:把列数传给range()函数,它会自动生成从0到「列数-1」的可迭代整数序列,完美匹配列的位置索引。代码改起来超简单:

    # 替换你的静态列表,直接用range生成动态序列
    for i in range(df.shape[1]):
        # 这里可以通过索引获取列,比如:
        current_col = df.iloc[:, i]
        # 执行你的操作
        do_stuff(current_col)
    
  • 方案2:直接遍历列名(可读性更强)
    如果你的DataFrame有明确的列名,直接遍历df.columns会更直观,不用记索引位置。比如:

    for col_name in df.columns:
        # 通过列名获取列
        current_col = df[col_name]
        # 执行你的操作
        do_stuff(current_col)
    

    这种方式在调试或者需要用到列名本身的时候特别方便,代码可读性也更高。

  • 方案3:遍历列的索引对象(进阶小技巧)
    如果你既想要索引又想关联列名,可以遍历df.columns.index,不过这个和方案1效果差不多,一般用方案1就够了:

    for i in df.columns.index:
        current_col = df.iloc[:, i]
        col_name = df.columns[i]
        # 同时用到索引和列名
        do_stuff(i, col_name, current_col)
    

总结一下:如果只需要列的位置,用方案1;需要列名或者更清晰的代码,选方案2。两种都能完美实现动态遍历,再也不用手动写静态列表啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:33:42