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

如何使用for循环按顺序依次输出DataFrame?

结论

该需求完全可以实现,和你列举的列表按下标遍历的逻辑高度对齐,只需要匹配DataFrame的位置索引规则即可。

具体操作方法

首先先构造测试用DataFrame方便演示:

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({
    "姓名": ["张三", "李四", "王五", "赵六"],
    "年龄": [22, 25, 23, 24],
    "城市": ["北京", "上海", "广州", "深圳"]
})

方法1:完全对标列表下标遍历的写法

和你给出的for i in range(3)取a[i]逻辑完全一致,用iloc按位置索引取行即可:

# 按顺序输出前3行,和列表遍历写法完全对应
for i in range(3):
    # df.iloc[i] 取第i行的Series格式数据
    # 如果需要输出单行DataFrame格式,改成df.iloc[[i]]即可
    print(df.iloc[i])
    print("----行分割线----")

方法2:原生逐行遍历方法(无需手动计算长度)

如果需要遍历全部行,可以直接用pandas内置的iterrows()方法,不需要手动写range取DataFrame长度:

for row_index, row_content in df.iterrows():
    print(f"当前行索引:{row_index}")
    print(row_content)
    print("----行分割线----")

方法3:按列顺序遍历输出

如果需要按列依次输出,同样可以通过位置索引实现:

# df.shape[1]是DataFrame的总列数
for col_i in range(df.shape[1]):
    print(f"第{col_i}列内容:")
    print(df.iloc[:, col_i])
    print("----列分割线----")

提示:逐行循环仅适合输出场景,如果需要对DataFrame做数据处理,优先使用pandas自带的向量化方法,运行效率远高于逐行循环。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 23:09:15