Сначала набор данных / первый вывод:
Мне нужно итеративно удалить более одной точки данных, чтобы получить наклон.В разделе комментариев говорится, какие точки данных удаляются для получения наклона.
Код, который я использую для удаления только одной точки данных, выглядит следующим образом:
import numpy as np
import pandas as pd
from scipy import stats
df=pd.read_excel('I:/Python/Data/trial.xlsx')
grouped = df.groupby('TestEvent')
df["slope"] = np.NaN
for test_event, g in grouped:
print('TestEvent: {}'.format(test_event))
for i in g.index:
others = g.loc[g.index != i, ["x-axis", "y-axis"]]
slope, intercept, r_value, p_value, std_err = stats.linregress(others)
print ("slope", slope, 'for data without pair', i)
df.loc[i, "slope"] = slope
df.to_excel('trial4.xlsx')
С этим кодом выше (n = 1), я мог попасть на все 10 склонов, так как одна точка данных была удалена за один раз.__ Теперь мне нужно удалить две точки данных (или n> 1), сохраняя одну константу, как показано на рисунке для обеих последовательностей (111 и 112).
Каждая последовательность в конечном итоге даст 90 точек данных наклона (0, .... 9 повторений 9 раз).
Наконец, в выходном кадре данных это будет 90 значений наклона на последовательность.
Во всех окончательных данных будет 180 значений уклонов (для последовательностей 111 и 112)
Спасибо за чтение.Любая помощь по этому вопросу высоко ценится.