如何在python 3.7中通过数据框列表迭代函数

时间:2020-04-07 14:33:05

标签: python python-3.x pandas numpy scipy

我有一个DataFrames列表,即data = [df1,df2,df3 ..... dfn]。我正在尝试通过数据列表迭代函数maxloc并将新值附加到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 :(得分:0)

使用时:

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

您的df仅仅是整数,您应该在instea中使用此循环:

for df in data:
    # your loop