оценка данных калибровки
Для калибровки системы мне нужно сравнить эталонные ('ref') и тестовые ('test') переменные.df выглядит следующим образом (раздел из df с> 3000 переменными):
df=pd.read_csv(file)
df
Time ref test
sec Q Q
1 nan nan
2 nan nan
3 5,00 4,89
4 5,08 5,00
5 4,93 4,97
6 nan nan
7 nan nan
8 14,83 14,96
9 14,87 15,13
10 14,72 14,83
11 nan nan
12 nan nan
13 nan nan
14 nan nan
15 24,37 24,35
16 24,29 24,39
17 24,28 24,50
18 24,26 24,41
19 nan nan
Для сравнения переменных 'ref' и 'test' мне нужно извлечь равнины с помощью гистерезиса.Могли бы сделать это вручную:
grades = []
for row in df['ref']:
if row < 5,5:
grades.append('A')
elif row < 15,5:
grades.append('B')
elif row < 26:
grades.append('C')
else:
grades.append('Failed')
df['Result_Ref'] = grades
df.dropna(inplace=True)
Но функция должна оценивать 'ref' и 'test' по гистерезису (+ -3%) и назначать A, B, C, ... автоматически.Результат должен выглядеть следующим образом:
df
Time ref test Result_Ref
sec Q Q
3 5,00 4,89 A
4 5,08 5,00 A
5 4,93 4,97 A
8 14,83 14,96 B
9 14,87 15,13 B
10 14,72 14,83 B
15 24,37 24,35 C
16 24,29 24,39 C
17 24,28 24,50 C
18 24,26 24,41 C
, поскольку время и шаги / равнины (A, B, C, .... Z) не ограничены (до 20), функция, которую я ищу, должнаищите в df ('ref', 'test') следующий (большой) шаг.Что-то вроде
when x(i+1)>x(i)), than append('A:Z')
и присвойте текущую переменную (1,2,3, .. или A, B, C, ..) в столбец Result_Rev.
Вотполный график к этому моменту полная калибровка с извлеченными равнинами Поскольку я совсем новичок в python, я понятия не имею о такой функции;) Спасибо заранее