如何使用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
相关产品推荐
相关产品推荐

