Как выполнить итерацию по списку данных в python 3.7 - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть список DataFrames, то есть data = [df1, df2, df3 ..... dfn]. Я пытаюсь перебрать функцию maxlo c по списку данных и добавить новые значения в new_max. Это дает мне следующую ошибку TypeError: объект 'int' не повторяется. Как я могу это исправить?

def max(data): 
    data['loc_max'] = np.zeros(len(data))
    for i in range(1,len(data)-1):  
        if data['value'][i] >= data['value'][i-1] and data['value'][i] >= data['value'][i+1]:
            data['loc_max'][i] = 1
    return data 
def maxloc(data):
    loc_opt_ind = argrelextrema(df['values'].values, np.greater)
    loc_max = np.zeros(len(data))
    loc_max[loc_opt_ind] = 1
    data['loc_max'] = loc_max
    return data
new_max= []
for df in range(len(data)):
    max_values = maxloc(df).loc_max
    new_max.append(max_values)

1 Ответ

0 голосов
/ 07 апреля 2020

Когда вы используете:

for df in range(len(data)):
    # your loop

ваш df просто целочисленный, вы должны использовать это l oop instea:

for df in data:
    # your loop
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...