#计算累计和 lst1 = [] sum = 0 for i in range(df.shape[0]): if i == 0: lst1.append(df['N'][i]) sum += df['N'][i] else: sum += df['N'][i] lst1.append(sum) df['累计和'] = lst1
#计算回撤 lst2 = [] max = 0 for i in range(df.shape[0]): if i == 0: lst2.append(0) elif df['累计和'][i] > max: max = df['累计和'][i] lst2.append(0) elif df['累计和'][i] lst2.append(df['累计和'][i]-max) elif df['累计和'][i] == max: lst2.append(0) df['回撤'] = lst2
#计算连续正确的个数 lst3 = [] correct = 0 for i in range(df.shape[0]): if df['N'][i] >= 0: correct += 1 lst3.append(correct) else: lst3.append(0) correct = 0 df['连续正确'] = lst3
#计算连续错误的个数 lst4 = [] mistake = 0 for i in range(df.shape[0]): if df['N'][i] mistake += 1 lst4.append(mistake) else: lst4.append(0) mistake = 0 df['连续错误'] = lst4
#计算连续正确值 lst5 = [] for i in range(df.shape[0]): lst5.append('') right = 0 for i in range(df.shape[0]): if df['连续正确'][i] != 0: right += df['N'][i] elif df['连续正确'][i] == 0 and right != 0: lst5[i-1] = right right = 0 df['连续正确值'] = lst5
#计算连续错误值 lst6 = [] for i in range(df.shape[0]): lst6.append('') wrong = 0 for i in range(df.shape[0]): if df['连续错误'][i] != 0: wrong += df['N'][i] elif df['连续错误'][i] == 0 and wrong != 0: lst6[i-1] = wrong wrong = 0 df['连续错误值'] = lst6