Перечисление приращений в цикле for - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть два цикла 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

Мой фрейм данных - это базовые данные с заголовком и индексом строки.

Я хочу отслеживать значение 'n' для каждой строки, когда она достигает 2 или выше наклона.Я попробовал debut = list(n) без успеха.Список, который я хочу, будет выглядеть так:

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

1 Ответ

0 голосов
/ 21 февраля 2019

Как предложил @Nullman, использование append для добавления номера столбца в ваш список является правильным подходом.Однако с вашим кодом, похоже, есть другие проблемы.Вы используете n и m в своих циклах for в качестве итераторов (которые будут автоматически увеличивать их), а также вручную увеличивать / сбрасывать их.Порядок ваших циклов также инвертирован по отношению к тому, что применимо к вашему описанию (цикл по строкам, затем по столбцам и столбцам, а затем по строкам).

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
...