当我从数据帧的某行中列出一个列表时,它仅在for循环中迭代一次,并且对列进行相同操作时效果很好

时间:2018-07-31 10:02:43

标签: python pandas dataframe

我想遍历数据帧中的一行,并且每次迭代都想更改字典中的某些值。我对列做了同样的事情,输出很好,但是当我使用一行时,它只会迭代一次。我该怎么办。

这是我的代码的一部分-

  for c in df[count:count+1,4:16]:
        if(c < 40):
            no_of_failed_assessment = no_of_failed_assessment +1

这是另一个循环(即内部循环)内部的循环。外循环的每次迭代都会增加计数。

现在此行有15个值。但是只重复一次。并立即显示其中的所有值。

我对列进行了同样的操作,并按列表进行了迭代。

我应该像列那样进行迭代吗?

1 个答案:

答案 0 :(得分:1)

使用.values属性遍历DataFrame中的值。另外,为确保基于整数位置的索引的一致性,我建议您使用iloc(来自here):

for c in df.iloc[count,4:16].values: # the count+1 upper bound is not necessary
    if(c < 40):
       no_of_failed_assessment = no_of_failed_assessment +1