用变量遍历熊猫中的列

时间:2020-10-24 09:30:41

标签: python pandas

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

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_vlevel_vamt之外,还有一种方法可以根据数据帧df1中的列数自动创建变量吗?我的数据框的大小发生了变化,我想根据数据框的大小创建变量。

3 个答案:

答案 0 :(得分:3)

除了创建任意数量的变量,您还可以考虑使用索引编制,如下所示:

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

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

答案 1 :(得分:1)

如果我对您的理解正确,那么您想遍历行并且不想在for循环中指定变量。您可以使用.itertuples(),然后:

for t in df1.itertuples():
    print(t.business, t.level, t.amt)

打印:

FX A 1
IR A 2
IR L 3

.iterrows()

for idx, t in df1.iterrows():
    print(idx, t[0], t[1], t[2])

打印:

0 FX A 1
1 IR A 2
2 IR L 3

答案 2 :(得分:0)

for i in df1.itertuples():
    print(i[1],i[2],i[3])

FX A 1
IR A 2
IR L 3