У меня в общей сложности две ошибки, возвращение за пределы функции, а также ошибка с определением переменных - PullRequest
0 голосов
/ 29 июня 2018

У меня проблемы с кодированием, так как я новичок, мой код должен принимать данные, возвращать среднее значение, а также составлять график для информации и строить пики / впадины данных

Я не знаю, почему он не возвращается, и этот сбой делает код неисправным ближе к концу, единственная часть, которая показывает ошибку, - это код, который должен найти значения пиков / долин моего кода. Он также показывает неверный синтаксис, когда я пытаюсь разработать переменную (точнее, «original_data»)

РЕДАКТИРОВАТЬ: Благодаря Джоно и Кену, я исправил некоторые из моего кода, но я проверил значения моих списков, и они имеют только одно значение, сохраненное в каждом, так что он не печатает все пики / долины набора данных, которые я имел. Я получаю KeyError: -331 и не могу найти результаты, как это исправить

# My Favorite Function
import os
clear = lambda: os.system('cls')
clear()

#import modules
import pandas as pd
import matplotlib.pyplot as plt

#key variables
data_set = pd.read_csv('C:/Users/sanderj/Documents/Work/Work_Experience/Day4.csv')
data = data_set["Data"]
peaks = []
valleys = []

#loop functions
for x in data:
    if data[x] == data[0] and data[x] > data[x+1]:
        peaks.append(x)
    elif data[x] > data[x+1] and data[x] > data[x-1]:
        peaks.append(x)
    else:
        continue

for x in data:
    if data[x] == data[0] and data[x] < data[x+1]:
        valleys.append(x)
    elif data[x] < data[x+1] and data[x] < data[x-1]:
        valleys.append(x)
    else:
        continue


#establishing points
a = peaks
b = valleys
plt.plot(a, b, 'ro')
plt.axis([ 0, 1024, -1000, 1000])
plt.title("Peaks and Valleys")

#final
clear()
plt.show()
...