Loop através de vários arquivos CSV

Estou trabalhando com três pequenos conjuntos de dados e, por motivos de reprodutibilidade, estou compartilhando os dadosAqu.

a coluna 2, eu queria ler a linha atual e compará-la com o valor da linha anterior. Se for maior, eu continuo comparando. Se o valor atual for menor que o valor da linha anterior, desejo dividir o valor atual (menor) pelo valor anterior (maior). Por conseguinte, o seguinte código:

import numpy as np
import matplotlib.pyplot as plt

protocols = {}

types = {"data_c": "data_c.csv", "data_r": "data_r.csv", "data_v": "data_v.csv"}

for protname, fname in types.items():
    col_time,col_window = np.loadtxt(fname,delimiter=',').T
    trailing_window = col_window[:-1] # "past" values at a given index
    leading_window  = col_window[1:]  # "current values at a given index
    decreasing_inds = np.where(leading_window < trailing_window)[0]
    quotient = leading_window[decreasing_inds]/trailing_window[decreasing_inds]
    quotient_times = col_time[decreasing_inds]

    protocols[protname] = {
        "col_time": col_time,
        "col_window": col_window,
        "quotient_times": quotient_times,
        "quotient": quotient,
    }

data_c é umnumpy.array que tem apenas umúnic quotient valor0.7, como fazdata_r com um únicoquotient valor de0.5. Contudo,data_v tem dois únicosquotient valores 0.5 ou0.8).

Eu queria percorrer oquotient valores desses arquivos CSV e categorizá-los usando um simplesif-else instrução (por exemplo, comoif quotient==0.7: print("data_c")) mas estou recebendo este erro:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Update: Eu descobri que esse erro pode ser resolvido usando.all() funciona como a segui

if (quotient==0.7).all():
     print("data_c")
elif (quotient>=0.5).all() and (quotient <=0.8).all():
     print("data_v")
elif (quotient==0.5).all():
     print("data_r")

No entanto, isso imprimedata_c, data_v, data_v. Como podemos corrigir esse problema?

questionAnswers(2)

yourAnswerToTheQuestion