在 for 循环中列出增量

Listing the increments in a for loop

我有两个 for 循环遍历我的所有数据框。目标是计算同一条直线上 2 点之间的斜率,直到斜率达到 2 或更高。然后它继续下一行。它是这样的:

step = 0.3
#debut = []

for n in range (ncol-1):
    for m in range (nline):
        slope = (df.iat[m, (n + 1)] - df.iat[m, n])/step
        if slope < 2:
            n = n + 1
        else:
            #tuple(debut)
            debut = list(n)
            m = m + 1
            n = 0
    if m > (nline):
        break

我的数据框是带有 header 和行索引的基本数据。

我想跟踪每行 'n' 的值,当它达到 2 或更高的斜率时。我尝试了 debut = list(n) 但没有成功。我想要的列表是这样的:

1     'column 1 header'
2     'column 2 header' 
3     'column 3 header' 
...

正如@Nullman 所建议的,使用 append 将列号添加到列表中是正确的方法。但是,您的代码似乎还有其他问题。您在 for 循环中使用 n 和 m 作为迭代器(这将自动递增它们)并且还手动 incrementing/resetting 它们。您的循环顺序也与您描述的顺序相反(循环遍历行然后列与列然后行)。

step = 0.3
debut = []

for m in range (nline):
    for n in range (ncol-1)
        slope = (df.iat[m, (n + 1)] - df.iat[m, n])/step
        if slope >= 2:
            debut.append(n)
            break