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

遍历Pandas DataFrame全部列后如何回到首列从j+512位置重新遍历

实现方案

你可以在外层加一个偏移量j的循环,每次遍历完全部列后将j增加512,直到剩余数据长度不足512就停止循环,示例代码如下:

import pandas as pd

# 先确认所有列长度一致,取第一列的长度作为总长度
col_length = len(df.iloc[:,0])
# 最大j值要满足j+512 <= 列长度,否则取不到两个连续256的窗口
max_j = col_length - 512
j = 0

while j <= max_j:
    # 逐列遍历处理
    for column in df:
        col_one_list = df[column].tolist()
        mav1 = mav(col_one_list[j:j+256])
        mav2 = mav(col_one_list[j+256:j+512])
        # 此处可补充mav1、mav2的后续处理逻辑
    # 处理完所有列后j偏移512,下一轮从新位置开始重新遍历所有列
    j += 512

逻辑说明

  • 外层用while循环控制偏移量j的递增,每次步长固定为512,直到数据不足自动停止
  • 内层保持原有逐列遍历的逻辑,每一轮j对应的所有列处理完成后,再偏移j进入下一轮全列遍历
  • 如果你的数据列长度不一致,可以提前对所有列做截断或者补全处理,避免索引越界问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:48:02