Hier ist der Code zum Einlesen der Daten.
Code: Alles auswählen
import pandas as pd
import os
import codecs
# Default directory for KDE measurement files
folder = os.path.join('c:', os.sep, 'Users','black cat','OneDrive - Linde Group','APLWT')
BLOCKSIZE = 1048576 # or some other, desired size in bytes
for file in os.listdir(folder):
if file.endswith(".TXT") and file.replace('.TXT', '.utf8') not in os.listdir(folder):
with codecs.open(os.path.join(folder, file), "r", "iso-8859-1") as sourceFile:
with codecs.open(os.path.join(folder, file.replace('.TXT', '.utf8')), "w", "utf-8") as targetFile:
while True:
contents = sourceFile.read(BLOCKSIZE)
if not contents:
break
targetFile.write(contents)
# Remove line number 14 (the one with the units after the tag names, as it irritates pd.read_csv)
f = open(os.path.join(folder, file.replace('.TXT', '.utf8')),"r")
lines = f.readlines()
f.close()
del(lines[13])
f = open(os.path.join(folder, file.replace('.TXT', '.utf8')),"w")
for line in lines:
f.write(line)
f.close()
# Read all utf8 logfiles
for file in os.listdir(folder):
if file.endswith(".utf8"):
df = pd.read_csv(os.path.join(folder, file),
sep='\t', encoding='utf-8', decimal='.', skiprows=12, index_col=False)
# Create time series
df['Datetime'] = df['Date']+' '+df['Time']
df['Datetime'] = df['Datetime'].apply(
lambda x: pd.to_datetime(x.split(',')[0], format='%d.%m.%Y %H:%M:%S'))
df = df.set_index('Datetime')
df = df.drop(columns=['Date', 'Time'])
# Resample to lower frequency
df=df.resample('5S').mean()
Und hier mal aus dem Code mit dem ich dann eben plotte:
Code: Alles auswählen
import matplotlib.pyplot as plt
import datetime as datetime
plt.figure()
df['TI111'].plot()
df['TI112'].plot()
df['TI113'].plot()
df['TI114'].plot()
df['TI115'].plot()
df['TI116'].plot()
plt.legend()
plt.xlabel('Time')
plt.ylabel('Temperature [°C]')
Ich möchte das Delta der Messwerte bilden, nur eben beispielweise Messwert_1 an der Stelle 12:00 minus Messwert_2 an der Stelle 13:00.
Im Moment bezieht Python eben immer alles auf die selbe Uhrzeit, also Messwert_1 minus Messwert_2 an der Stelle 12:00.
Ich weiß eben nicht, wie ich gezielt eine bestimmte Uhrzeit ansprechen kann.
