2015-08-06 3 views
0

Я работаю со списком точек в python 2.7 и выполняю некоторые интерполяции по данным. Мой список имеет более 5000 баллов, и у меня есть некоторые повторяющиеся значения «x» в моем списке. Эти повторяющиеся значения «x» имеют разные соответствующие значения «y». Я хочу избавиться от этих повторяющихся точек, чтобы моя функция интерполяции работала, потому что, если повторяются значения «x» с разными значениями «y», она запускает ошибку, потому что она не удовлетворяет критериям функции. Вот простой пример того, что я пытаюсь сделать:Удаление повторяющихся значений x и их соответствующих значений y

Input: 
x = [1,1,3,4,5] 
y = [10,20,30,40,50] 


Output: 
xy = [(1,10),(3,30),(4,40),(5,50)] 

Функция интерполяции я использую InterpolatedUnivariateSpline(x, y)

+0

1) Какой язык программирования/инструменты вы используете? 2) отсортированы ли ваши значения X? – RAEC

+0

python 2.7, и да, они сортируются по возрастанию – hmm1050

ответ

0

имеют переменную, в которой хранятся предыдущее значение X, если она такая же, как текущее значение, то пропустите текущее значение.

Например (псевдо-код, вы делаете питон),

int previousX = -1 

foreach X 
{ 
    if(x == previousX) 
    {/*skip*/} 
    else 
    { 
     InterpolatedUnivariateSpline(x, y) 
     previousX = x /*store the x value that will be "previous" in next iteration 
    } 
} 

я предполагаю, что вы уже перебор так что вам не нужен код actualy питона.

Смежные вопросы