首页 > 解决方案 > 使用变量迭代熊猫中的列

问题描述

我有一个看起来像这样的数据框:

import pandas as pd
f = {'business':['FX','IR','IR'],'level':['A','A','L'],'amt':[1,2,3]}
df1 = pd.DataFrame(data=f)
df1

我有循环通过创建变量来迭代数据框的列:

for business_v,level_v,amt in list(zip(*[df1[col]for col in df1])):
    print (business_v,levelv,amt)

除了定义三个变量business_v,level_v和之外amt,有没有办法根据数据框中的列数自动创建变量df1?我的数据框大小发生变化,我想根据数据框的大小创建变量。

标签: pythonpandas

解决方案


您可以考虑使用索引,而不是创建任意数量的变量,如下所示:

for idx in range(df1.shape[0]):
    print ([df1.iloc[i][col] for col in df1.columns()])

如果您只想在后续代码中使用列的子集,则可以使用自定义列集而不是调用 df1.columns()。


推荐阅读