{ "cells": [ { "cell_type": "code", "execution_count": 2, "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": 3, "metadata": {}, "outputs": [], "source": [ "def calulate_density(travel):\n", " return 2710/(6293-travel)" ] }, { "cell_type": "code", "execution_count": 4, "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": 5, "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": 6, "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": 7, "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", "9.0 | \n", "23.892 | \n", "474.0 | \n", "0.430637 | \n", "
| 442 | \n", "108 | \n", "86 | \n", "474 | \n", "965 | \n", "29 | \n", "56 | \n", "0.10 | \n", "1.39 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "23.892 | \n", "0.00 | \n", "11 | \n", "63 | \n", "23.892 | \n", "9.0 | \n", "17.8 | \n", "43.861 | \n", "483.0 | \n", "0.432278 | \n", "
| 452 | \n", "111 | \n", "87 | \n", "483 | \n", "957 | \n", "29 | \n", "56 | \n", "0.08 | \n", "1.43 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "43.861 | \n", "0.00 | \n", "21 | \n", "64 | \n", "19.969 | \n", "8.8 | \n", "28.9 | \n", "64.889 | \n", "491.0 | \n", "0.433660 | \n", "
| 462 | \n", "114 | \n", "89 | \n", "491 | \n", "968 | \n", "28 | \n", "57 | \n", "0.09 | \n", "1.38 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "64.889 | \n", "0.01 | \n", "31 | \n", "62 | \n", "21.028 | \n", "11.1 | \n", "44.0 | \n", "89.917 | \n", "499.0 | \n", "0.435124 | \n", "
| 472 | \n", "116 | \n", "90 | \n", "499 | \n", "984 | \n", "29 | \n", "56 | \n", "0.11 | \n", "1.41 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "89.917 | \n", "0.00 | \n", "41 | \n", "63 | \n", "25.028 | \n", "15.1 | \n", "63.9 | \n", "118.504 | \n", "506.0 | \n", "0.436880 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 1195 | \n", "329 | \n", "238 | \n", "1065 | \n", "1006 | \n", "70 | \n", "56 | \n", "0.44 | \n", "3.91 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "3873.823 | \n", "0.01 | \n", "764 | \n", "249 | \n", "116.093 | \n", "25.5 | \n", "3286.6 | \n", "4195.012 | \n", "1194.0 | \n", "1.120216 | \n", "
| 1207 | \n", "348 | \n", "253 | \n", "1194 | \n", "1005 | \n", "0 | \n", "56 | \n", "2.64 | \n", "0.07 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "4195.012 | \n", "0.04 | \n", "776 | \n", "0 | \n", "321.189 | \n", "161.1 | \n", "3667.4 | \n", "4615.524 | \n", "1226.0 | \n", "1.291714 | \n", "
| 1217 | \n", "357 | \n", "261 | \n", "1226 | \n", "1007 | \n", "0 | \n", "56 | \n", "1.75 | \n", "0.04 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "4615.524 | \n", "0.03 | \n", "786 | \n", "0 | \n", "420.512 | \n", "380.8 | \n", "3908.5 | \n", "4950.940 | \n", "1302.0 | \n", "1.615522 | \n", "
| 1227 | \n", "358 | \n", "263 | \n", "1302 | \n", "1002 | \n", "0 | \n", "56 | \n", "1.09 | \n", "0.04 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "4950.940 | \n", "0.02 | \n", "796 | \n", "0 | \n", "335.416 | \n", "241.1 | \n", "4065.5 | \n", "5151.375 | \n", "1337.0 | \n", "2.019284 | \n", "
| 1237 | \n", "355 | \n", "262 | \n", "1337 | \n", "1001 | \n", "0 | \n", "56 | \n", "0.73 | \n", "0.03 | \n", "20.0 | \n", "5.0 | \n", "... | \n", "5151.375 | \n", "0.01 | \n", "806 | \n", "0 | \n", "200.435 | \n", "157.0 | \n", "4185.6 | \n", "5282.644 | \n", "1346.0 | \n", "2.373809 | \n", "
78 rows × 25 columns
\n", "