{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import sklearn\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def calulate_density(travel):\n", " return 2710/(6293-travel)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def filter_data(df):\n", " # filter data\n", " df['P.Zeit'] = pd.to_timedelta(df['P.Zeit'])\n", "\n", " df=df[df['Pyrometer'] >460].copy()\n", " df=df[df['AV Force'] > 55].copy()\n", "\n", " minPistonTravel = df['Abs. Piston Trav'].min()\n", " df['TravelRelative'] = ((df['Abs. Piston Trav'] - minPistonTravel)*1000).astype(int)\n", " df['TravelRelativeCorrected'] = np.maximum.accumulate(df['TravelRelative'])\n", " minTemperature = df['Pyrometer'].min()\n", " df['TravelRelativeCorrected'] = df['TravelRelativeCorrected'].rolling(window=10).mean()\n", " df.loc[pd.isnull(df['TravelRelativeCorrected']), 'TravelRelativeCorrected'] = 0\n", " df['TravelRelativeTempCorrected']=df['TravelRelativeCorrected']+(df['Pyrometer']-minTemperature)*1.241\n", " #df['TravelRelativeCorrected'] = df['TravelRelativeCorrected'].ewm(span=10, adjust=False).mean()\n", " df.loc[pd.isnull(df['TravelRelativeCorrected']), 'TravelRelativeCorrected'] = 0\n", "\n", " #df['TravelDelta'] = df['TravelDelta'].rolling(window=60).mean()\n", " #df.loc[pd.isnull(df['TravelDelta']), 'TravelDelta'] = 0\n", "\n", " #df.loc[(df['TravelDelta']<0), 'TravelDelta'] = 0\n", " #df['TravelDelta'] = df['TravelDelta'].astype(int)\n", " df['TravelDeltaOriginal'] = df['Abs. Piston Trav'] - df['Abs. Piston Trav'].shift(1)\n", " #df = df.drop(columns=['Abs. Piston Trav'])\n", " \n", " df['seconds'] = df['P.Zeit'].dt.total_seconds()\n", " df['seconds'] = df['seconds'].astype(int)\n", " minSeconds = df['seconds'].min()\n", " df['seconds'] = (df['seconds'] - minSeconds+1)\n", " df = df.drop(columns=['P.Zeit'])\n", " \n", " df['Heating'] = (df['Heating power']*10).astype(int)\n", " df = df.drop(columns=['Heating power'])\n", " \n", " #df = df.iloc[::10]\n", "\n", " df['TravelDelta'] = df['TravelRelativeTempCorrected'] - df['TravelRelativeTempCorrected'].shift(1)\n", " df['TravelDelta2'] = df['TravelRelativeCorrected'] - df['TravelRelativeCorrected'].shift(1)\n", " df.loc[pd.isnull(df['TravelDelta']), 'TravelDelta'] = 0\n", "\n", " df['TravelRelativeCorrectedShifted'] = df['TravelRelativeCorrected'].shift(-1)\n", " df['TravelRelativeCorrectedShifted'] = df['TravelRelativeCorrectedShifted'].fillna(0)\n", " df['TravelRelativeTempCorrectedShifted'] = df['TravelRelativeTempCorrected'].shift(-1)\n", " #df['TravelRelativeTempCorrectedShifted'] = df['TravelRelativeTempCorrectedShifted'].fillna(df['TravelRelativeTempCorrectedShifted'].iloc[-2])\n", " df['PyrometerShifted'] = df['Pyrometer'].shift(-1)\n", " df['Density'] = calulate_density(df['TravelRelativeTempCorrected'])\n", " #df['PyrometerShifted'] = df['PyrometerShifted'].fillna(df['PyrometerShifted'].iloc[-2])\n", "\n", " df = df.drop(df.index[-1])\n", "\n", " return df" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def filter_dataEmpty(df):\n", " # filter data\n", " df['seconds'] = df['No.']\n", " df = df.drop(columns=['No.'])\n", " df['Pyrometer'] = df['AV Pyro top']\n", " df = df.drop(columns=['AV Pyro top'])\n", "\n", " df=df[df['Pyrometer'] >460].copy()\n", " df=df[df['AV Force'] >15].copy()\n", "\n", " minPistonTravel = df['AV Abs. Piston T'].min()\n", " df['TravelRelative'] = ((df['AV Abs. Piston T'] - minPistonTravel)*1000).astype(int)\n", " # maxPistonTravel = df['TravelRelative'].max()\n", " # df['TravelRelative'] = -(df['TravelRelative']-maxPistonTravel)\n", " #df['TravelRelativeCorrected'] = np.maximum.accumulate(df['TravelRelative'])\n", " df['TravelRelativeCorrected'] = df['TravelRelative']\n", " df['TravelRelativeCorrected'] = df['TravelRelativeCorrected'].rolling(window=60).mean()\n", " #df['TravelRelativeCorrected'] = df['TravelRelativeCorrected'].ewm(span=10, adjust=False).mean()\n", " df['TravelDelta'] = df['TravelRelativeCorrected'] - df['TravelRelativeCorrected'].shift(1)\n", " df.loc[pd.isnull(df['TravelDelta']), 'TravelDelta'] = 0\n", "\n", " #df['TravelDelta'] = df['TravelDelta'].rolling(window=60).mean()\n", " #df.loc[pd.isnull(df['TravelDelta']), 'TravelDelta'] = 0\n", "\n", " #df.loc[(df['TravelDelta']<0), 'TravelDelta'] = 0\n", " #df['TravelDelta'] = df['TravelDelta'].astype(int)\n", " df = df.drop(columns=['AV Abs. Piston T'])\n", " \n", " \n", " df['Heating'] = (df['AV Heating Power']*10).astype(int)\n", " df = df.drop(columns=['AV Heating Power'])\n", " \n", "\n", "\n", "\n", " return df" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "\n", "data1000 = pd.read_csv('data/160508-1021-1000,0min,56kN.csv',sep = ';', skiprows=[1],decimal=',',\n", " usecols=['P.Zeit','MTC1','MTC2','Pyrometer','AV Abs. Press. 2','yPower','AV Force','AV Speed','I RMS','Pulse Time','Pause Time','U RMS','Heating power','Rel. Piston Trav','Abs. Piston Trav']) \n", " # usecols=['P.Zeit','Pyrometer','AV Force','Heating power','Abs. Piston Trav']) \n", " #usecols=['P.Zeit','Pyrometer','Heating power','Abs. Piston Trav']) \n", "data900 = pd.read_csv('data/160508-1022-900,0min,56kN.csv',sep = ';', skiprows=[1],decimal=',',\n", " usecols=['P.Zeit','MTC1','MTC2','Pyrometer','AV Abs. Press. 2','yPower','AV Force','AV Speed','I RMS','Pulse Time','Pause Time','U RMS','Heating power','Rel. Piston Trav','Abs. Piston Trav']) \n", "data1350 = pd.read_csv('data/200508-1023-1350,0min,56kN.csv',sep = ';', skiprows=[1],decimal=',',\n", " usecols=['P.Zeit','MTC1','MTC2','Pyrometer','AV Abs. Press. 2','yPower','AV Force','AV Speed','I RMS','Pulse Time','Pause Time','U RMS','Heating power','Rel. Piston Trav','Abs. Piston Trav']) \n", "data1200 = pd.read_csv('data/200508-1024-1200,0min,56kN.csv',sep = ';', skiprows=[1],decimal=',',\n", " usecols=['P.Zeit','MTC1','MTC2','Pyrometer','AV Abs. Press. 2','yPower','AV Force','AV Speed','I RMS','Pulse Time','Pause Time','U RMS','Heating power','Rel. Piston Trav','Abs. Piston Trav']) \n", "dataN1200 = pd.read_csv('data/050608-1037-1200,0min,70kN.csv',sep = ';', skiprows=[1],decimal=',',\n", " usecols=['P.Zeit','MTC1','MTC2','Pyrometer','AV Abs. Press. 2','yPower','AV Force','AV Speed','I RMS','Pulse Time','Pause Time','U RMS','Heating power','Rel. Piston Trav','Abs. Piston Trav']) \n", "dataN1100 = pd.read_csv('data/290508-1033-1100,0min,70kN.csv',sep = ';', skiprows=[1],decimal=',',\n", " usecols=['P.Zeit','MTC1','MTC2','Pyrometer','AV Abs. Press. 2','yPower','AV Force','AV Speed','I RMS','Pulse Time','Pause Time','U RMS','Heating power','Rel. Piston Trav','Abs. Piston Trav']) \n", "dataEmpty1= pd.read_csv('data/fct20-082 graphite 4f 1800 (100) 16kN 5 min d20.csv',sep = ';', skiprows=[1],decimal=',',\n", " usecols=['No.','AV Pyro top','AV Force','AV Abs. Piston T','AV Heating Power','U RMS','I RMS']) \n", "dataEmpty2= pd.read_csv('data/fct20-083 graphite for fct20-075 1800 (100) 16kN 5 min d20.csv',sep = ';', skiprows=[1],decimal=',',\n", " usecols=['No.','AV Pyro top','AV Force','AV Abs. Piston T','AV Heating Power','U RMS','I RMS']) \n", "\n", "data1000 = filter_data(data1000)\n", "data900 = filter_data(data900)\n", "data1350 = filter_data(data1350)\n", "data1200 = filter_data(data1200)\n", "dataN1200 = filter_data(dataN1200)\n", "dataN1100 = filter_data(dataN1100)\n", "\n", "dataN1200['TravelRelativeTempCorrected'] = dataN1200['TravelRelativeTempCorrected']/2\n", "dataN1200['TravelRelativeTempCorrectedShifted'] = dataN1200['TravelRelativeTempCorrectedShifted']/2\n", "#dataN1200['TravelRelativeTempCorrected'] = dataN1200['TravelRelativeTempCorrected']/2\n", "#dataN1200['TravelRelativeTempCorrectedShifted'] = dataN1200['TravelRelativeTempCorrectedShifted']/2\n", "\n", "dataEmpty1 = filter_dataEmpty(dataEmpty1)\n", "dataEmpty2 = filter_dataEmpty(dataEmpty2)\n", "\n", "\n", "\n", "#dataEmpty1.describe()\n", "#dataN1200.dtypes\n", "\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | MTC1 | \n", "MTC2 | \n", "Pyrometer | \n", "AV Abs. Press. 2 | \n", "yPower | \n", "AV Force | \n", "AV Speed | \n", "I RMS | \n", "Pulse Time | \n", "Pause Time | \n", "... | \n", "TravelRelativeTempCorrected | \n", "TravelDeltaOriginal | \n", "seconds | \n", "Heating | \n", "TravelDelta | \n", "TravelDelta2 | \n", "TravelRelativeCorrectedShifted | \n", "TravelRelativeTempCorrectedShifted | \n", "PyrometerShifted | \n", "Density | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 432 | \n", "104 | \n", "84 | \n", "462 | \n", "853 | \n", "30 | \n", "56 | \n", "0.03 | \n", "1.47 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "0.000 | \n", "NaN | \n", "1 | \n", "68 | \n", "0.000 | \n", "NaN | \n", "0.0 | \n", "1.241 | \n", "463.0 | \n", "0.430637 | \n", "
| 433 | \n", "105 | \n", "84 | \n", "463 | \n", "853 | \n", "31 | \n", "57 | \n", "0.03 | \n", "1.47 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "1.241 | \n", "0.01 | \n", "2 | \n", "68 | \n", "1.241 | \n", "0.0 | \n", "0.0 | \n", "1.241 | \n", "463.0 | \n", "0.430722 | \n", "
| 434 | \n", "105 | \n", "84 | \n", "463 | \n", "908 | \n", "31 | \n", "56 | \n", "0.03 | \n", "1.50 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "1.241 | \n", "-0.01 | \n", "3 | \n", "70 | \n", "0.000 | \n", "0.0 | \n", "0.0 | \n", "3.723 | \n", "465.0 | \n", "0.430722 | \n", "
| 435 | \n", "105 | \n", "84 | \n", "465 | \n", "962 | \n", "31 | \n", "56 | \n", "0.00 | \n", "1.50 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "3.723 | \n", "0.00 | \n", "4 | \n", "70 | \n", "2.482 | \n", "0.0 | \n", "0.0 | \n", "7.446 | \n", "468.0 | \n", "0.430892 | \n", "
| 436 | \n", "106 | \n", "85 | \n", "468 | \n", "962 | \n", "31 | \n", "56 | \n", "0.00 | \n", "1.48 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "7.446 | \n", "0.00 | \n", "5 | \n", "68 | \n", "3.723 | \n", "0.0 | \n", "0.0 | \n", "7.446 | \n", "468.0 | \n", "0.431147 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 1251 | \n", "344 | \n", "255 | \n", "1342 | \n", "1004 | \n", "0 | \n", "57 | \n", "0.68 | \n", "0.03 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "5323.680 | \n", "0.01 | \n", "820 | \n", "0 | \n", "14.723 | \n", "11.0 | \n", "4243.5 | \n", "5335.580 | \n", "1342.0 | \n", "2.795774 | \n", "
| 1252 | \n", "342 | \n", "254 | \n", "1342 | \n", "1001 | \n", "0 | \n", "57 | \n", "0.66 | \n", "0.03 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "5335.580 | \n", "0.02 | \n", "821 | \n", "0 | \n", "11.900 | \n", "11.9 | \n", "4254.5 | \n", "5336.652 | \n", "1334.0 | \n", "2.830524 | \n", "
| 1253 | \n", "342 | \n", "254 | \n", "1334 | \n", "1008 | \n", "0 | \n", "56 | \n", "0.66 | \n", "0.03 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "5336.652 | \n", "0.00 | \n", "822 | \n", "0 | \n", "1.072 | \n", "11.0 | \n", "4265.5 | \n", "5346.411 | \n", "1333.0 | \n", "2.833697 | \n", "
| 1254 | \n", "341 | \n", "253 | \n", "1333 | \n", "1001 | \n", "0 | \n", "56 | \n", "0.66 | \n", "0.04 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "5346.411 | \n", "0.01 | \n", "823 | \n", "0 | \n", "9.759 | \n", "11.0 | \n", "4275.6 | \n", "5354.029 | \n", "1331.0 | \n", "2.862911 | \n", "
| 1255 | \n", "339 | \n", "252 | \n", "1331 | \n", "1001 | \n", "0 | \n", "56 | \n", "0.66 | \n", "0.03 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "5354.029 | \n", "0.01 | \n", "824 | \n", "0 | \n", "7.618 | \n", "10.1 | \n", "4284.7 | \n", "5363.129 | \n", "1331.0 | \n", "2.886138 | \n", "
789 rows × 25 columns
\n", "| \n", " | seconds | \n", "TravelRelativeTempCorrected | \n", "Pyrometer | \n", "PyrometerShifted | \n", "STD | \n", "
|---|---|---|---|---|---|
| 0 | \n", "1.0 | \n", "0.0000 | \n", "463.0 | \n", "463.0 | \n", "NaN | \n", "
| 1 | \n", "21.0 | \n", "12.1875 | \n", "492.0 | \n", "506.0 | \n", "0.006659 | \n", "
| 2 | \n", "31.0 | \n", "23.4375 | \n", "506.0 | \n", "520.0 | \n", "0.003967 | \n", "
| 3 | \n", "41.0 | \n", "36.0000 | \n", "518.0 | \n", "530.0 | \n", "0.004734 | \n", "
| 4 | \n", "51.0 | \n", "48.7500 | \n", "527.0 | \n", "536.0 | \n", "0.005167 | \n", "
| 5 | \n", "61.0 | \n", "62.2500 | \n", "535.0 | \n", "543.0 | \n", "0.004931 | \n", "
| 6 | \n", "71.0 | \n", "76.5000 | \n", "543.0 | \n", "551.0 | \n", "0.004734 | \n", "
| 7 | \n", "81.0 | \n", "90.8750 | \n", "550.0 | \n", "557.0 | \n", "0.004632 | \n", "
| 8 | \n", "91.0 | \n", "105.3750 | \n", "557.0 | \n", "564.0 | \n", "0.005074 | \n", "
| 9 | \n", "101.0 | \n", "120.2500 | \n", "564.0 | \n", "571.0 | \n", "0.004834 | \n", "