Как минимизировать размер файла MDF, созданного в Python с использованием asammdfPython

Программы на Python
Anonymous
Как минимизировать размер файла MDF, созданного в Python с использованием asammdf

Сообщение Anonymous »

Здравствуйте, мне нужен совет/рекомендации по минимизации размера файла MDF, созданного с помощью Python/asammdf.

У меня есть файл MDF, созданный программой регистрации данных, и размер файла составляет 2,4 МБ. Он содержит данные временных рядов (более 100 каналов, выбранных с разной частотой). Когда я загружаю этот файл в Python с помощью asammdf и конвертирую в фрейм данных, затем создаю объект MDF из фрейма данных и сохраняю его как файл .mf4, размер выходного файла составляет 74,8 МБ (в 31 раз больше).

Данные имеют каналы с типами данных float, int и str. Все данные для любого канала всегда одного и того же типа. Мне нужен совет о том, как лучше всего добавлять каналы с разными типами данных и частотой дискретизации, чтобы создать наименьший файл, в котором данные не подвергаются субдискретизации. А для строковых каналов данные одинаковы, поэтому мне понадобится только одно значение на канал. Спасибо за любую помощь.
import pandas as pd
import numpy as np
from asammdf import MDF, Signal

# Load mdf file into dataframe
mdf_file_path = "C:\Users\user\Desktop\input.mdf"
mdf_obj = MDF(mdf_file_path)
df_from_input_mdf = mdf_obj.to_dataframe()

# Create MDF from dataframe
new_mdf_from_df = MDF()
for column in df_from_input_mdf.columns:
sig = Signal(
samples=df_from_input_mdf[column].values,
timestamps=df_from_input_mdf.index.values,
name=column,
)
try:
new_mdf_from_df.append(sig)
except Exception as e:
print(f"Error occurred while appending signal for column '{column}': {e}")

# Save new mdf to file
new_mdf_output_path = f"C:\Users\user\Desktop\output.mdf" new_mdf_from_df.save(new_mdf_output_path)

Вернуться в «Python»