簡體   English   中英

如何通過 python 3.7 中的 dataframe 列表迭代 function

[英]How to iterate a function through a list of dataframe in python 3.7

我有一個 DataFrames 列表,即 data = [df1,df2,df3.....dfn]。 我正在嘗試通過數據列表迭代 function maxloc 並將新值附加到 new_max。 它給了我以下錯誤 TypeError: 'int' object is not iterable。 我該如何解決?

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)

當您使用:

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

你的 df 只是整數,你應該使用這個循環 instea:

for df in data:
    # your loop

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM