如何遍历Pandas DataFrame中的指定列?
最优实现方案
首先先指定你要遍历的6列(替换成实际列名):
target_cols = ['列名1', '列名2', '列名3', '列名4', '列名5', '列名6'] subset = data[target_cols]
方法1:用itertuples()(效率最高,推荐)
itertuples()是Pandas中逐行遍历效率最高的方式,返回轻量命名元组,直接提取元素处理:
for row in subset.itertuples(index=False): # 按你的特殊格式逐元素打印 for elem in row: print(elem) # 替换为你的专属打印逻辑
如果需要按列区分打印,可直接通过元组属性访问:
for row in subset.itertuples(index=False): print(row.列名1) print(row.列名2) # ... 依次处理剩余4列
方法2:用apply()封装打印逻辑(适合模块化场景)
如果打印逻辑需要复用,用apply(axis=1)封装成函数更简洁,效率也优于iterrows():
def print_row_elements(row): for col in target_cols: print(row[col]) # 按特殊格式打印 subset.apply(print_row_elements, axis=1)
方法3:不推荐的iterrows()(效率低)
iterrows()返回的是Series对象,每次迭代有额外开销,数据量大时速度明显变慢,仅小数据量临时使用:
for idx, row in subset.iterrows(): for col in target_cols: print(row[col])
额外提示
- 如果打印需要用到行索引,把
itertuples()的index=False改成index=True,即可通过for idx, *elems in subset.itertuples():获取索引 - 全程仅操作
subset子数据集,不会修改原dataDataFrame
内容的提问来源于stack exchange,提问作者roulette01
相关产品推荐
相关产品推荐

