在 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
我有两个 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