В настоящий момент у меня немного логической проблемы ... По сути, я пытаюсь сравнить значения столбцов одного CSV со значениями строк в другом CSV. Вот мой код до сих пор:
import tkinter as tk
from tkinter import filedialog
#import numpy as np
#import matplotlib.pyplot as plt
import pandas as pd
root = tk.Tk()
root.withdraw()
thresholdsFile = filedialog.askopenfilename(title='Select The Thresholds File:')
mDataFile = filedialog.askopenfilename(title='Select The M Data File:')
df = pd.read_csv(thresholdsFile)
df2 = pd.read_csv(mDataFile)
def thresholdCheck(thresholds, mdata):
for index, row in thresholds.iterrows():
for index1, row1 in mdata.iterrows():
if (row1[index1]) < row['Minimum Threshold:']:
print('Minimum threshold broken!')
elif (row1[index1]) > row['Maximum Threshold:']:
print('Maximum threshold broken!')
else:
print('No threshold broken!')
sampleOutput = thresholdCheck(df, df2)
print(sampleOutput)
Создает следующий вывод:
Минимальный порог сломан!
Максимальный порог сломан!
Порог не сломан!
Максимальный порог сломан!
Ни один
Что не так. :(
Прилагаются два образца CSV, которые я собрал для проверки кода.
и 
То есть, как это должно работать, это значения столбцов 2 . Машинные данные должны считываться вертикально и сравниваться с 1 горизонтальными строками данных порогов, поэтому в этом на случай, если это будет выглядеть так:
(Oil Temp) 55 сравнивается с 56 и 115 (минимальные / максимальные пороги на первом рисунке), триггеры ниже 56 ---> минимальный порог нарушен
(температура масла) 116 сравнивается с 56 и 115 (минимальные / максимальные пороги), срабатывает выше 115 ---> максимальный порог превышен
Теперь
(Oil Press) 43 сравнивается с 44 и 126 (мин / макс пороги), срабатывает ниже 44 ---> минимальный порог сломан
(Oil Press) 127 сравнивается с 44 и 126 (минимальные / максимальные пороги), срабатывает выше 126 ---> максимальный порог превышен
Input
df = pd.DataFrame( {'Variable Name:':['Oil Temp','Oil Press'],
'Minimum Threshold:':[56,44],'Maximum Threshold:':[115, 126]})
df2 = pd.DataFrame({'Oil Temp':[95,116],'Oil Press':[43,127]})