Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛБ#1 / main

.py
Скачиваний:
0
Добавлен:
19.10.2026
Размер:
2 Кб
Скачать
☆
import numpy as np
import pandas
import matplotlib.pyplot as plt


def main():
    # Считываем файл data.csv с разделителем ";"
    df = pandas.read_csv('data.csv', sep=';')

    # Явно указываем тип данных на float
    df['V1'] = df['V1'].astype(float)
    df['V2'] = df['V2'].astype(float)
    df['V3'] = df['V3'].astype(float)
    df['Temp'] = df['Temp'].astype(float)

    plt.figure(figsize=(12, 5))
    plt.plot(df['Time'], df['Temp'])
    plt.title('Зависимость температуры от времени')
    plt.xlabel('Время, ч:мм')
    plt.ylabel('Температура, °C')
    plt.xticks(df['Time'][::120], rotation=45)
    plt.grid(True)
    plt.tight_layout()
    plt.savefig('plot_temp.png', dpi=200)

    mV = df.drop('Time', axis=1).drop('Temp', axis=1).mean(axis=1)

    iT = df['Temp'] < 2
    iV = mV < 1       
    i = df[iT | iV]   

    time = i['Time']    
    temp = i['Temp']    

    plt.figure(figsize=(12, 5))
    plt.plot(time, temp, 'r*')
    plt.title('Температура в критические моменты (Temp < 2 или mV < 1)')
    plt.xlabel('Время, ч:мм')
    plt.ylabel('Температура, °C')
    plt.grid(True)
    plt.tight_layout()
    plt.savefig('plot_critical.png', dpi=200)

    plt.figure(figsize=(12, 5))
    plt.plot(df['Time'], mV)
    plt.plot(time, mV[iT | iV], 'r*')
    plt.title('Средняя скорость ветра по трём датчикам')
    plt.xlabel('Время, ч:мм')
    plt.ylabel('mV, м/с')
    plt.xticks(df['Time'][::120], rotation=45)
    plt.grid(True)
    plt.tight_layout()
    plt.savefig('plot_mv.png', dpi=200)

    plt.show()

    print('Критических точек:', len(i))


if __name__ == '__main__':
    main()
Соседние файлы в папке ЛБ#1