{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# DATA Analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The purpose of this Notebook is to perform the data Analysis, that is comparing the outputs generated from the previous notebooks for all the different samples. \n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Packages installation (since Aug 2021)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "#pip install -U wxPython" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Libraries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'wx'", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mre\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mitertools\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mcycle\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 13\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mwx\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 14\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'wx'" ] } ], "source": [ "import numpy \n", "import math\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "from matplotlib import cm\n", "import pandas as pd\n", "from glob import glob\n", "from functools import reduce\n", "import ipywidgets as widgets\n", "from ipywidgets import interact, interactive, fixed, interact_manual\n", "import re\n", "from itertools import cycle\n", "import wx\n", "\n", "\n", "\n", "#%matplotlib notebook" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1. Data import and merging " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1 XP-Ramp" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "spl = 'ASW'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "XP_Ramp_df = pd.read_csv('..\\DATA\\DATA-Processing\\PAC\\XP_list_test.csv')\n", "XP_Ramp_df_I = XP_Ramp_df.set_index('Date')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Sample20K25K30K40K50K55K60K65K70K...137K138K140K142K145K150K155K160K180K200K
Date
2020_09_15ASW[1]NaNNaNNaNNaNNaNNaNNaNNaN...NaNNaN[3]NaNNaN[4]NaNNaNNaNNaN
2020_09_16ASW[1, 2]NaNNaN[3, 4, 5]NaNNaN[6, 7, 8]NaNNaN...NaNNaN[21, 22, 23]NaNNaN[24, 25, 26]NaNNaN[27, 28, 29][30, 31]
2020_09_17ASW[1, 2]NaNNaN[3, 4, 5]NaNNaN[6, 7, 8]NaNNaN...NaNNaN[21, 22, 23]NaNNaN[24, 25, 26]NaNNaN[27, 28]NaN
2020_09_21ASW[1, 2]NaNNaN[3, 4, 5]NaNNaN[6, 7, 8]NaNNaN...NaNNaN[21, 22, 23]NaNNaN[24, 25, 26]NaNNaN[27, 28]NaN
2020_09_28ASW[1, 2]NaN[3, 4, 5, 6][7, 8, 9, 10][11, 12, 13, 14]NaN[15, 16, 17, 18]NaN[19, 20, 21, 22]...NaNNaN[59, 60, 61, 62]NaN[63, 64, 65, 66][67, 68, 69, 70, 71, 72, 73, 74][75, 76, 77, 78][79, 80]NaNNaN
\n", "

5 rows × 31 columns

\n", "
" ], "text/plain": [ " Sample 20K 25K 30K 40K 50K \\\n", "Date \n", "2020_09_15 ASW [1] NaN NaN NaN NaN \n", "2020_09_16 ASW [1, 2] NaN NaN [3, 4, 5] NaN \n", "2020_09_17 ASW [1, 2] NaN NaN [3, 4, 5] NaN \n", "2020_09_21 ASW [1, 2] NaN NaN [3, 4, 5] NaN \n", "2020_09_28 ASW [1, 2] NaN [3, 4, 5, 6] [7, 8, 9, 10] [11, 12, 13, 14] \n", "\n", " 55K 60K 65K 70K ... 137K 138K \\\n", "Date ... \n", "2020_09_15 NaN NaN NaN NaN ... NaN NaN \n", "2020_09_16 NaN [6, 7, 8] NaN NaN ... NaN NaN \n", "2020_09_17 NaN [6, 7, 8] NaN NaN ... NaN NaN \n", "2020_09_21 NaN [6, 7, 8] NaN NaN ... NaN NaN \n", "2020_09_28 NaN [15, 16, 17, 18] NaN [19, 20, 21, 22] ... NaN NaN \n", "\n", " 140K 142K 145K \\\n", "Date \n", "2020_09_15 [3] NaN NaN \n", "2020_09_16 [21, 22, 23] NaN NaN \n", "2020_09_17 [21, 22, 23] NaN NaN \n", "2020_09_21 [21, 22, 23] NaN NaN \n", "2020_09_28 [59, 60, 61, 62] NaN [63, 64, 65, 66] \n", "\n", " 150K 155K 160K \\\n", "Date \n", "2020_09_15 [4] NaN NaN \n", "2020_09_16 [24, 25, 26] NaN NaN \n", "2020_09_17 [24, 25, 26] NaN NaN \n", "2020_09_21 [24, 25, 26] NaN NaN \n", "2020_09_28 [67, 68, 69, 70, 71, 72, 73, 74] [75, 76, 77, 78] [79, 80] \n", "\n", " 180K 200K \n", "Date \n", "2020_09_15 NaN NaN \n", "2020_09_16 [27, 28, 29] [30, 31] \n", "2020_09_17 [27, 28] NaN \n", "2020_09_21 [27, 28] NaN \n", "2020_09_28 NaN NaN \n", "\n", "[5 rows x 31 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "XP_Ramp_df_I.head(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.2 DR1 - DR2 - DR3 all dates" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " DR1 - DR2 - DR3 are merged together" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2.1 Import" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "#DR1\n", "\n", "DR1_Allscans = glob('..\\DATA\\DATA-Processing\\PAC\\XP_1-1/Samples/*/Data/DR/DR1_*_All-scans.csv')\n", "\n", "# DR2\n", "\n", "DR2_Allscans = glob('..\\DATA\\DATA-Processing\\PAC\\XP_1-1/Samples/*/Data/DR/DR2_*_All-scans.csv')\n", "\n", "# DR3\n", "\n", "DR3_Allscans = glob(\"..\\DATA\\DATA-Processing\\PAC\\XP_1-1/Samples/*\\Data\\DR\\DR3_*_A.csv\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Sanity Check" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2020_09_15\\\\Data\\\\DR\\\\DR1_2020_09_15_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2020_09_16\\\\Data\\\\DR\\\\DR1_2020_09_16_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2020_09_17\\\\Data\\\\DR\\\\DR1_2020_09_17_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2020_09_21\\\\Data\\\\DR\\\\DR1_2020_09_21_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2020_09_28\\\\Data\\\\DR\\\\DR1_2020_09_28_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2020_10_14\\\\Data\\\\DR\\\\DR1_2020_10_14_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2020_10_22\\\\Data\\\\DR\\\\DR1_2020_10_22_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2020_11_16\\\\Data\\\\DR\\\\DR1_2020_11_16_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2020_11_19\\\\Data\\\\DR\\\\DR1_2020_11_19_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2020_11_23\\\\Data\\\\DR\\\\DR1_2020_11_23_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2021_05_13\\\\Data\\\\DR\\\\DR1_2021_05_13_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2021_05_24\\\\Data\\\\DR\\\\DR1_2021_05_24_All-scans.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1/Samples\\\\2021_07_13\\\\Data\\\\DR\\\\DR1_2021_07_13_All-scans.csv']" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DR1_Allscans" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "#DR2_Allscans" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "#DR3_Allscans" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2.2 Merging" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### DR1" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "All_data_frame = []\n", "\n", "for items in DR1_Allscans:\n", "\n", " df = pd.read_csv(items)\n", " df_1 = df.T.iloc[1:].T\n", " \n", " All_data_frame.append(df_1) \n", " \n", " del df\n", " del df_1\n", " \n", " DR1_Allscans_full = reduce(lambda left,right: pd.merge(left,right, on=['Wavenumber'],how='outer'), All_data_frame)\n", " \n", " " ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WavenumberASW_2020_09_15_1ASW_2020_09_15_2ASW_2020_09_15_3ASW_2020_09_15_4ASW_2020_09_16_1ASW_2020_09_16_2ASW_2020_09_16_3ASW_2020_09_16_4ASW_2020_09_16_5...ASW_2021_07_13_17ASW_2021_07_13_18ASW_2021_07_13_19ASW_2021_07_13_20ASW_2021_07_13_21ASW_2021_07_13_22ASW_2021_07_13_23ASW_2021_07_13_24ASW_2021_07_13_25ASW_2021_07_13_26
0799.84420.0702000.0868590.0805370.0554920.0687650.0709580.0795360.0804570.083105...0.1123010.1121650.1112900.1145460.1113520.1121600.1148650.1174010.1187980.112614
1800.32640.0696130.0854400.0841330.0455110.0661570.0680550.0734330.0735090.076351...0.1017210.1009250.1009790.1036940.1017780.1008350.1045720.1072810.1075750.111304
2800.80850.0690020.0819870.0863960.0347340.0635960.0653230.0675910.0671420.069968...0.0905860.0901520.0901220.0923590.0913070.0894530.0939910.0964080.0961460.109683
3801.29060.0690990.0780840.0835520.0365510.0637840.0661620.0692360.0691180.071792...0.0892630.0904800.0895020.0906570.0899940.0888940.0933750.0957490.0952760.107832
4801.77270.0687330.0764530.0811170.0393160.0645030.0673630.0708780.0714250.073453...0.0941230.0949840.0942390.0950020.0946980.0943220.0980650.1004890.1003100.107623
..................................................................
66343998.2570-0.017155-0.016794-0.016967-0.006420-0.017952-0.016452-0.014667-0.014350-0.013844...-0.019303-0.018898-0.018461-0.015902-0.016764-0.017420-0.018147-0.019271-0.019650-0.019098
66353998.7390-0.017126-0.017087-0.017292-0.006350-0.018364-0.016865-0.014762-0.014372-0.013879...-0.019276-0.018882-0.018438-0.015903-0.016772-0.017392-0.018119-0.019247-0.019640-0.019025
66363999.2210-0.017211-0.017489-0.017849-0.006541-0.018844-0.017376-0.015208-0.014730-0.014253...-0.019218-0.018809-0.018348-0.015880-0.016743-0.017337-0.018042-0.019167-0.019563-0.018901
66373999.7030-0.017211-0.016742-0.017107-0.006789-0.018146-0.016685-0.014652-0.014254-0.013813...-0.019852-0.019407-0.018991-0.016492-0.017368-0.018002-0.018668-0.019787-0.020182-0.019602
66384000.1850-0.017199-0.016014-0.016281-0.006947-0.017547-0.016091-0.014062-0.013732-0.013332...-0.020471-0.019999-0.019634-0.017090-0.017998-0.018664-0.019310-0.020400-0.020810-0.020218
\n", "

6639 rows × 2041 columns

\n", "
" ], "text/plain": [ " Wavenumber ASW_2020_09_15_1 ASW_2020_09_15_2 ASW_2020_09_15_3 \\\n", "0 799.8442 0.070200 0.086859 0.080537 \n", "1 800.3264 0.069613 0.085440 0.084133 \n", "2 800.8085 0.069002 0.081987 0.086396 \n", "3 801.2906 0.069099 0.078084 0.083552 \n", "4 801.7727 0.068733 0.076453 0.081117 \n", "... ... ... ... ... \n", "6634 3998.2570 -0.017155 -0.016794 -0.016967 \n", "6635 3998.7390 -0.017126 -0.017087 -0.017292 \n", "6636 3999.2210 -0.017211 -0.017489 -0.017849 \n", "6637 3999.7030 -0.017211 -0.016742 -0.017107 \n", "6638 4000.1850 -0.017199 -0.016014 -0.016281 \n", "\n", " ASW_2020_09_15_4 ASW_2020_09_16_1 ASW_2020_09_16_2 ASW_2020_09_16_3 \\\n", "0 0.055492 0.068765 0.070958 0.079536 \n", "1 0.045511 0.066157 0.068055 0.073433 \n", "2 0.034734 0.063596 0.065323 0.067591 \n", "3 0.036551 0.063784 0.066162 0.069236 \n", "4 0.039316 0.064503 0.067363 0.070878 \n", "... ... ... ... ... \n", "6634 -0.006420 -0.017952 -0.016452 -0.014667 \n", "6635 -0.006350 -0.018364 -0.016865 -0.014762 \n", "6636 -0.006541 -0.018844 -0.017376 -0.015208 \n", "6637 -0.006789 -0.018146 -0.016685 -0.014652 \n", "6638 -0.006947 -0.017547 -0.016091 -0.014062 \n", "\n", " ASW_2020_09_16_4 ASW_2020_09_16_5 ... ASW_2021_07_13_17 \\\n", "0 0.080457 0.083105 ... 0.112301 \n", "1 0.073509 0.076351 ... 0.101721 \n", "2 0.067142 0.069968 ... 0.090586 \n", "3 0.069118 0.071792 ... 0.089263 \n", "4 0.071425 0.073453 ... 0.094123 \n", "... ... ... ... ... \n", "6634 -0.014350 -0.013844 ... -0.019303 \n", "6635 -0.014372 -0.013879 ... -0.019276 \n", "6636 -0.014730 -0.014253 ... -0.019218 \n", "6637 -0.014254 -0.013813 ... -0.019852 \n", "6638 -0.013732 -0.013332 ... -0.020471 \n", "\n", " ASW_2021_07_13_18 ASW_2021_07_13_19 ASW_2021_07_13_20 \\\n", "0 0.112165 0.111290 0.114546 \n", "1 0.100925 0.100979 0.103694 \n", "2 0.090152 0.090122 0.092359 \n", "3 0.090480 0.089502 0.090657 \n", "4 0.094984 0.094239 0.095002 \n", "... ... ... ... \n", "6634 -0.018898 -0.018461 -0.015902 \n", "6635 -0.018882 -0.018438 -0.015903 \n", "6636 -0.018809 -0.018348 -0.015880 \n", "6637 -0.019407 -0.018991 -0.016492 \n", "6638 -0.019999 -0.019634 -0.017090 \n", "\n", " ASW_2021_07_13_21 ASW_2021_07_13_22 ASW_2021_07_13_23 \\\n", "0 0.111352 0.112160 0.114865 \n", "1 0.101778 0.100835 0.104572 \n", "2 0.091307 0.089453 0.093991 \n", "3 0.089994 0.088894 0.093375 \n", "4 0.094698 0.094322 0.098065 \n", "... ... ... ... \n", "6634 -0.016764 -0.017420 -0.018147 \n", "6635 -0.016772 -0.017392 -0.018119 \n", "6636 -0.016743 -0.017337 -0.018042 \n", "6637 -0.017368 -0.018002 -0.018668 \n", "6638 -0.017998 -0.018664 -0.019310 \n", "\n", " ASW_2021_07_13_24 ASW_2021_07_13_25 ASW_2021_07_13_26 \n", "0 0.117401 0.118798 0.112614 \n", "1 0.107281 0.107575 0.111304 \n", "2 0.096408 0.096146 0.109683 \n", "3 0.095749 0.095276 0.107832 \n", "4 0.100489 0.100310 0.107623 \n", "... ... ... ... \n", "6634 -0.019271 -0.019650 -0.019098 \n", "6635 -0.019247 -0.019640 -0.019025 \n", "6636 -0.019167 -0.019563 -0.018901 \n", "6637 -0.019787 -0.020182 -0.019602 \n", "6638 -0.020400 -0.020810 -0.020218 \n", "\n", "[6639 rows x 2041 columns]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DR1_Allscans_full" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "#DR1_Allscans_full.to_csv('..\\DATA\\DATA-Processing\\PAC\\DR1_full.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### DR2" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "All_data_frame = []\n", "\n", "for items in DR2_Allscans:\n", "\n", " df = pd.read_csv(items)\n", " df_1 = df.T.iloc[1:].T\n", " \n", " All_data_frame.append(df_1) \n", " \n", " del df\n", " del df_1\n", " \n", " DR2_Allscans_full = reduce(lambda left,right: pd.merge(left,right, on=['Wavenumber'],how='outer'), All_data_frame)\n", " \n", " " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "#DR2_Allscans_full.to_csv('D:\\DATA-Processing\\PAC\\DR2_full.csv')" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WavenumberASW_2020_09_15_1ASW_2020_09_15_2ASW_2020_09_15_3ASW_2020_09_15_4ASW_2020_09_16_1ASW_2020_09_16_2ASW_2020_09_16_3ASW_2020_09_16_4ASW_2020_09_16_5...ASW_2021_07_13_17ASW_2021_07_13_18ASW_2021_07_13_19ASW_2021_07_13_20ASW_2021_07_13_21ASW_2021_07_13_22ASW_2021_07_13_23ASW_2021_07_13_24ASW_2021_07_13_25ASW_2021_07_13_26
0799.84420.0605490.0761880.0714460.0477590.0618130.0626770.0703770.0710310.073033...0.0939340.0932030.0923990.0997720.0968100.0975440.1001070.1035790.1049360.101043
1800.32640.0599650.0747720.0750440.0377800.0592080.0597770.0642770.0640860.066281...0.0833600.0819690.0820940.0889240.0872400.0862230.0898190.0934630.0937180.099738
2800.80850.0593580.0713230.0773090.0270050.0566510.0570480.0584390.0577220.059902...0.0722320.0712030.0712440.0775940.0767740.0748450.0792430.0825960.0822940.098120
3801.29060.0594580.0674230.0744690.0288240.0568410.0578900.0600870.0597010.061729...0.0709150.0715380.0706310.0758960.0754660.0742910.0786320.0819420.0814290.096272
4801.77270.0590950.0657950.0720360.0315920.0575640.0590940.0617320.0620120.063394...0.0757830.0760500.0753750.0802450.0801740.0797240.0833270.0866870.0864680.096067
..................................................................
66343998.25700.0001510.0006880.0008760.0005560.0008840.0009160.0005330.0004110.000489...0.0011560.0010890.0011620.0011800.0012250.0012340.0011530.0011190.0011500.001113
66353998.73900.0001830.0003990.0005540.0006260.0004760.0005070.0004420.0003920.000458...0.0011860.0011080.0011870.0011810.0012200.0012650.0011830.0011460.0011620.001189
66363999.22100.0001010.0000000.0000000.0004360.0000000.0000000.0000000.0000390.000088...0.0012470.0011840.0012800.0012060.0012510.0013220.0012640.0012290.0012420.001314
66373999.70300.0001050.0007500.0007460.0001900.0007030.0006960.0005600.0005180.000532...0.0006160.0005880.0006410.0005960.0006280.0006600.0006400.0006110.0006250.000614
66384000.18500.0001200.0014810.0015750.0000330.0013060.0012950.0011540.0010450.001017...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
\n", "

6639 rows × 1876 columns

\n", "
" ], "text/plain": [ " Wavenumber ASW_2020_09_15_1 ASW_2020_09_15_2 ASW_2020_09_15_3 \\\n", "0 799.8442 0.060549 0.076188 0.071446 \n", "1 800.3264 0.059965 0.074772 0.075044 \n", "2 800.8085 0.059358 0.071323 0.077309 \n", "3 801.2906 0.059458 0.067423 0.074469 \n", "4 801.7727 0.059095 0.065795 0.072036 \n", "... ... ... ... ... \n", "6634 3998.2570 0.000151 0.000688 0.000876 \n", "6635 3998.7390 0.000183 0.000399 0.000554 \n", "6636 3999.2210 0.000101 0.000000 0.000000 \n", "6637 3999.7030 0.000105 0.000750 0.000746 \n", "6638 4000.1850 0.000120 0.001481 0.001575 \n", "\n", " ASW_2020_09_15_4 ASW_2020_09_16_1 ASW_2020_09_16_2 ASW_2020_09_16_3 \\\n", "0 0.047759 0.061813 0.062677 0.070377 \n", "1 0.037780 0.059208 0.059777 0.064277 \n", "2 0.027005 0.056651 0.057048 0.058439 \n", "3 0.028824 0.056841 0.057890 0.060087 \n", "4 0.031592 0.057564 0.059094 0.061732 \n", "... ... ... ... ... \n", "6634 0.000556 0.000884 0.000916 0.000533 \n", "6635 0.000626 0.000476 0.000507 0.000442 \n", "6636 0.000436 0.000000 0.000000 0.000000 \n", "6637 0.000190 0.000703 0.000696 0.000560 \n", "6638 0.000033 0.001306 0.001295 0.001154 \n", "\n", " ASW_2020_09_16_4 ASW_2020_09_16_5 ... ASW_2021_07_13_17 \\\n", "0 0.071031 0.073033 ... 0.093934 \n", "1 0.064086 0.066281 ... 0.083360 \n", "2 0.057722 0.059902 ... 0.072232 \n", "3 0.059701 0.061729 ... 0.070915 \n", "4 0.062012 0.063394 ... 0.075783 \n", "... ... ... ... ... \n", "6634 0.000411 0.000489 ... 0.001156 \n", "6635 0.000392 0.000458 ... 0.001186 \n", "6636 0.000039 0.000088 ... 0.001247 \n", "6637 0.000518 0.000532 ... 0.000616 \n", "6638 0.001045 0.001017 ... 0.000000 \n", "\n", " ASW_2021_07_13_18 ASW_2021_07_13_19 ASW_2021_07_13_20 \\\n", "0 0.093203 0.092399 0.099772 \n", "1 0.081969 0.082094 0.088924 \n", "2 0.071203 0.071244 0.077594 \n", "3 0.071538 0.070631 0.075896 \n", "4 0.076050 0.075375 0.080245 \n", "... ... ... ... \n", "6634 0.001089 0.001162 0.001180 \n", "6635 0.001108 0.001187 0.001181 \n", "6636 0.001184 0.001280 0.001206 \n", "6637 0.000588 0.000641 0.000596 \n", "6638 0.000000 0.000000 0.000000 \n", "\n", " ASW_2021_07_13_21 ASW_2021_07_13_22 ASW_2021_07_13_23 \\\n", "0 0.096810 0.097544 0.100107 \n", "1 0.087240 0.086223 0.089819 \n", "2 0.076774 0.074845 0.079243 \n", "3 0.075466 0.074291 0.078632 \n", "4 0.080174 0.079724 0.083327 \n", "... ... ... ... \n", "6634 0.001225 0.001234 0.001153 \n", "6635 0.001220 0.001265 0.001183 \n", "6636 0.001251 0.001322 0.001264 \n", "6637 0.000628 0.000660 0.000640 \n", "6638 0.000000 0.000000 0.000000 \n", "\n", " ASW_2021_07_13_24 ASW_2021_07_13_25 ASW_2021_07_13_26 \n", "0 0.103579 0.104936 0.101043 \n", "1 0.093463 0.093718 0.099738 \n", "2 0.082596 0.082294 0.098120 \n", "3 0.081942 0.081429 0.096272 \n", "4 0.086687 0.086468 0.096067 \n", "... ... ... ... \n", "6634 0.001119 0.001150 0.001113 \n", "6635 0.001146 0.001162 0.001189 \n", "6636 0.001229 0.001242 0.001314 \n", "6637 0.000611 0.000625 0.000614 \n", "6638 0.000000 0.000000 0.000000 \n", "\n", "[6639 rows x 1876 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DR2_Allscans_full\n", "\n", "\n", "#DR2_Allscans = glob(\"D:\\PhD-WS\\Projects\\PAC\\XP_1-1\\DATA\\*\\Data\\DR\\DR2*All-scans.csv\")" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WavenumberASW_2020_09_15_1ASW_2020_09_15_2ASW_2020_09_15_3ASW_2020_09_15_4ASW_2020_09_16_1ASW_2020_09_16_2ASW_2020_09_16_3ASW_2020_09_16_4ASW_2020_09_16_5...ASW_2021_07_13_17ASW_2021_07_13_18ASW_2021_07_13_19ASW_2021_07_13_20ASW_2021_07_13_21ASW_2021_07_13_22ASW_2021_07_13_23ASW_2021_07_13_24ASW_2021_07_13_25ASW_2021_07_13_26
0799.84420.0605490.0761880.0714460.0477590.0618130.0626770.0703770.0710310.073033...0.0939340.0932030.0923990.0997720.0968100.0975440.1001070.1035790.1049360.101043
1800.32640.0599650.0747720.0750440.0377800.0592080.0597770.0642770.0640860.066281...0.0833600.0819690.0820940.0889240.0872400.0862230.0898190.0934630.0937180.099738
2800.80850.0593580.0713230.0773090.0270050.0566510.0570480.0584390.0577220.059902...0.0722320.0712030.0712440.0775940.0767740.0748450.0792430.0825960.0822940.098120
3801.29060.0594580.0674230.0744690.0288240.0568410.0578900.0600870.0597010.061729...0.0709150.0715380.0706310.0758960.0754660.0742910.0786320.0819420.0814290.096272
4801.77270.0590950.0657950.0720360.0315920.0575640.0590940.0617320.0620120.063394...0.0757830.0760500.0753750.0802450.0801740.0797240.0833270.0866870.0864680.096067
..................................................................
66343998.25700.0001510.0006880.0008760.0005560.0008840.0009160.0005330.0004110.000489...0.0011560.0010890.0011620.0011800.0012250.0012340.0011530.0011190.0011500.001113
66353998.73900.0001830.0003990.0005540.0006260.0004760.0005070.0004420.0003920.000458...0.0011860.0011080.0011870.0011810.0012200.0012650.0011830.0011460.0011620.001189
66363999.22100.0001010.0000000.0000000.0004360.0000000.0000000.0000000.0000390.000088...0.0012470.0011840.0012800.0012060.0012510.0013220.0012640.0012290.0012420.001314
66373999.70300.0001050.0007500.0007460.0001900.0007030.0006960.0005600.0005180.000532...0.0006160.0005880.0006410.0005960.0006280.0006600.0006400.0006110.0006250.000614
66384000.18500.0001200.0014810.0015750.0000330.0013060.0012950.0011540.0010450.001017...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
\n", "

6639 rows × 1876 columns

\n", "
" ], "text/plain": [ " Wavenumber ASW_2020_09_15_1 ASW_2020_09_15_2 ASW_2020_09_15_3 \\\n", "0 799.8442 0.060549 0.076188 0.071446 \n", "1 800.3264 0.059965 0.074772 0.075044 \n", "2 800.8085 0.059358 0.071323 0.077309 \n", "3 801.2906 0.059458 0.067423 0.074469 \n", "4 801.7727 0.059095 0.065795 0.072036 \n", "... ... ... ... ... \n", "6634 3998.2570 0.000151 0.000688 0.000876 \n", "6635 3998.7390 0.000183 0.000399 0.000554 \n", "6636 3999.2210 0.000101 0.000000 0.000000 \n", "6637 3999.7030 0.000105 0.000750 0.000746 \n", "6638 4000.1850 0.000120 0.001481 0.001575 \n", "\n", " ASW_2020_09_15_4 ASW_2020_09_16_1 ASW_2020_09_16_2 ASW_2020_09_16_3 \\\n", "0 0.047759 0.061813 0.062677 0.070377 \n", "1 0.037780 0.059208 0.059777 0.064277 \n", "2 0.027005 0.056651 0.057048 0.058439 \n", "3 0.028824 0.056841 0.057890 0.060087 \n", "4 0.031592 0.057564 0.059094 0.061732 \n", "... ... ... ... ... \n", "6634 0.000556 0.000884 0.000916 0.000533 \n", "6635 0.000626 0.000476 0.000507 0.000442 \n", "6636 0.000436 0.000000 0.000000 0.000000 \n", "6637 0.000190 0.000703 0.000696 0.000560 \n", "6638 0.000033 0.001306 0.001295 0.001154 \n", "\n", " ASW_2020_09_16_4 ASW_2020_09_16_5 ... ASW_2021_07_13_17 \\\n", "0 0.071031 0.073033 ... 0.093934 \n", "1 0.064086 0.066281 ... 0.083360 \n", "2 0.057722 0.059902 ... 0.072232 \n", "3 0.059701 0.061729 ... 0.070915 \n", "4 0.062012 0.063394 ... 0.075783 \n", "... ... ... ... ... \n", "6634 0.000411 0.000489 ... 0.001156 \n", "6635 0.000392 0.000458 ... 0.001186 \n", "6636 0.000039 0.000088 ... 0.001247 \n", "6637 0.000518 0.000532 ... 0.000616 \n", "6638 0.001045 0.001017 ... 0.000000 \n", "\n", " ASW_2021_07_13_18 ASW_2021_07_13_19 ASW_2021_07_13_20 \\\n", "0 0.093203 0.092399 0.099772 \n", "1 0.081969 0.082094 0.088924 \n", "2 0.071203 0.071244 0.077594 \n", "3 0.071538 0.070631 0.075896 \n", "4 0.076050 0.075375 0.080245 \n", "... ... ... ... \n", "6634 0.001089 0.001162 0.001180 \n", "6635 0.001108 0.001187 0.001181 \n", "6636 0.001184 0.001280 0.001206 \n", "6637 0.000588 0.000641 0.000596 \n", "6638 0.000000 0.000000 0.000000 \n", "\n", " ASW_2021_07_13_21 ASW_2021_07_13_22 ASW_2021_07_13_23 \\\n", "0 0.096810 0.097544 0.100107 \n", "1 0.087240 0.086223 0.089819 \n", "2 0.076774 0.074845 0.079243 \n", "3 0.075466 0.074291 0.078632 \n", "4 0.080174 0.079724 0.083327 \n", "... ... ... ... \n", "6634 0.001225 0.001234 0.001153 \n", "6635 0.001220 0.001265 0.001183 \n", "6636 0.001251 0.001322 0.001264 \n", "6637 0.000628 0.000660 0.000640 \n", "6638 0.000000 0.000000 0.000000 \n", "\n", " ASW_2021_07_13_24 ASW_2021_07_13_25 ASW_2021_07_13_26 \n", "0 0.103579 0.104936 0.101043 \n", "1 0.093463 0.093718 0.099738 \n", "2 0.082596 0.082294 0.098120 \n", "3 0.081942 0.081429 0.096272 \n", "4 0.086687 0.086468 0.096067 \n", "... ... ... ... \n", "6634 0.001119 0.001150 0.001113 \n", "6635 0.001146 0.001162 0.001189 \n", "6636 0.001229 0.001242 0.001314 \n", "6637 0.000611 0.000625 0.000614 \n", "6638 0.000000 0.000000 0.000000 \n", "\n", "[6639 rows x 1876 columns]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DR2_Allscans_full" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 799.8442\n", "1 800.3264\n", "2 800.8085\n", "3 801.2906\n", "4 801.7727\n", " ... \n", "6634 3998.2570\n", "6635 3998.7390\n", "6636 3999.2210\n", "6637 3999.7030\n", "6638 4000.1850\n", "Name: Wavenumber, Length: 6639, dtype: float64\n" ] } ], "source": [ "print(DR2_Allscans_full['Wavenumber'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\color{red}{\\text{Problem with Row number (should be 6639)!}}$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### DR3" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "All_data_frame = []\n", "\n", "#Wavenumber = \n", "\n", "for items in DR3_Allscans:\n", "\n", " df = pd.read_csv(items)\n", " df_1 = df.T.iloc[1:].T\n", "\n", " \n", " All_data_frame.append(df_1) \n", " \n", " DR3_Allscans_full = reduce(lambda left,right: pd.merge(left,right, on=['Wavenumber'],how='outer'), All_data_frame)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WavenumberASW_2020_09_15_1ASW_2020_09_15_2ASW_2020_09_15_3ASW_2020_09_15_4ASW_2020_09_16_1ASW_2020_09_16_2ASW_2020_09_16_3ASW_2020_09_16_4ASW_2020_09_16_5...ASW_2021_07_13_17ASW_2021_07_13_18ASW_2021_07_13_19ASW_2021_07_13_20ASW_2021_07_13_21ASW_2021_07_13_22ASW_2021_07_13_23ASW_2021_07_13_24ASW_2021_07_13_25ASW_2021_07_13_26
02800.178-0.0001870.0000750.0000509.007620e-19-0.000259-0.000271-0.000180-0.000149-0.000381...0.0001340.0001010.0002350.0002750.0002390.0002200.0002430.0002330.0002440.001587
12800.660-0.0001370.0001420.0003643.145895e-04-0.000121-0.0001370.0001130.000146-0.000087...0.000020-0.0000260.0001060.0001450.0001090.0000930.0001050.0000980.0001090.001548
22801.142-0.000201-0.0000200.0000009.304404e-05-0.000172-0.000191-0.000143-0.000134-0.000362...0.0003040.0002520.0003800.0004140.0003820.0003610.0003640.0003740.0003840.001655
32801.624-0.0001300.0001750.0004884.249901e-04-0.000048-0.0000690.0001920.000211-0.000008...0.0002010.0001590.0002720.0003090.0002730.0002470.0002500.0002670.0002720.001589
42802.106-0.0001860.0000490.0001722.575800e-04-0.000066-0.000087-0.000006-0.000010-0.000224...0.0004650.0004330.0005320.0005730.0005250.0005050.0005050.0005210.0005340.001676
..................................................................
24853998.2570.0001560.0007140.0009095.772753e-040.0009210.0009550.0005560.0004280.000510...0.0011230.0010570.0011280.0011460.0011900.0011980.0011200.0010870.0011170.001081
24863998.7390.0001900.0004140.0005756.505353e-040.0004970.0005290.0004610.0004090.000478...0.0011520.0010750.0011530.0011470.0011840.0012280.0011490.0011130.0011290.001154
24873999.2210.0001050.0000000.0000004.531809e-040.0000000.0000000.0000000.0000400.000092...0.0012110.0011500.0012430.0011710.0012140.0012830.0012270.0011930.0012070.001276
24883999.7030.0001090.0007790.0007741.974239e-040.0007330.0007260.0005840.0005400.000554...0.0005980.0005710.0006220.0005790.0006090.0006410.0006220.0005930.0006070.000596
24894000.1850.0001250.0015380.0016363.402556e-050.0013620.0013500.0012030.0010890.001061...0.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
\n", "

2490 rows × 1853 columns

\n", "
" ], "text/plain": [ " Wavenumber ASW_2020_09_15_1 ASW_2020_09_15_2 ASW_2020_09_15_3 \\\n", "0 2800.178 -0.000187 0.000075 0.000050 \n", "1 2800.660 -0.000137 0.000142 0.000364 \n", "2 2801.142 -0.000201 -0.000020 0.000000 \n", "3 2801.624 -0.000130 0.000175 0.000488 \n", "4 2802.106 -0.000186 0.000049 0.000172 \n", "... ... ... ... ... \n", "2485 3998.257 0.000156 0.000714 0.000909 \n", "2486 3998.739 0.000190 0.000414 0.000575 \n", "2487 3999.221 0.000105 0.000000 0.000000 \n", "2488 3999.703 0.000109 0.000779 0.000774 \n", "2489 4000.185 0.000125 0.001538 0.001636 \n", "\n", " ASW_2020_09_15_4 ASW_2020_09_16_1 ASW_2020_09_16_2 ASW_2020_09_16_3 \\\n", "0 9.007620e-19 -0.000259 -0.000271 -0.000180 \n", "1 3.145895e-04 -0.000121 -0.000137 0.000113 \n", "2 9.304404e-05 -0.000172 -0.000191 -0.000143 \n", "3 4.249901e-04 -0.000048 -0.000069 0.000192 \n", "4 2.575800e-04 -0.000066 -0.000087 -0.000006 \n", "... ... ... ... ... \n", "2485 5.772753e-04 0.000921 0.000955 0.000556 \n", "2486 6.505353e-04 0.000497 0.000529 0.000461 \n", "2487 4.531809e-04 0.000000 0.000000 0.000000 \n", "2488 1.974239e-04 0.000733 0.000726 0.000584 \n", "2489 3.402556e-05 0.001362 0.001350 0.001203 \n", "\n", " ASW_2020_09_16_4 ASW_2020_09_16_5 ... ASW_2021_07_13_17 \\\n", "0 -0.000149 -0.000381 ... 0.000134 \n", "1 0.000146 -0.000087 ... 0.000020 \n", "2 -0.000134 -0.000362 ... 0.000304 \n", "3 0.000211 -0.000008 ... 0.000201 \n", "4 -0.000010 -0.000224 ... 0.000465 \n", "... ... ... ... ... \n", "2485 0.000428 0.000510 ... 0.001123 \n", "2486 0.000409 0.000478 ... 0.001152 \n", "2487 0.000040 0.000092 ... 0.001211 \n", "2488 0.000540 0.000554 ... 0.000598 \n", "2489 0.001089 0.001061 ... 0.000000 \n", "\n", " ASW_2021_07_13_18 ASW_2021_07_13_19 ASW_2021_07_13_20 \\\n", "0 0.000101 0.000235 0.000275 \n", "1 -0.000026 0.000106 0.000145 \n", "2 0.000252 0.000380 0.000414 \n", "3 0.000159 0.000272 0.000309 \n", "4 0.000433 0.000532 0.000573 \n", "... ... ... ... \n", "2485 0.001057 0.001128 0.001146 \n", "2486 0.001075 0.001153 0.001147 \n", "2487 0.001150 0.001243 0.001171 \n", "2488 0.000571 0.000622 0.000579 \n", "2489 0.000000 0.000000 0.000000 \n", "\n", " ASW_2021_07_13_21 ASW_2021_07_13_22 ASW_2021_07_13_23 \\\n", "0 0.000239 0.000220 0.000243 \n", "1 0.000109 0.000093 0.000105 \n", "2 0.000382 0.000361 0.000364 \n", "3 0.000273 0.000247 0.000250 \n", "4 0.000525 0.000505 0.000505 \n", "... ... ... ... \n", "2485 0.001190 0.001198 0.001120 \n", "2486 0.001184 0.001228 0.001149 \n", "2487 0.001214 0.001283 0.001227 \n", "2488 0.000609 0.000641 0.000622 \n", "2489 0.000000 0.000000 0.000000 \n", "\n", " ASW_2021_07_13_24 ASW_2021_07_13_25 ASW_2021_07_13_26 \n", "0 0.000233 0.000244 0.001587 \n", "1 0.000098 0.000109 0.001548 \n", "2 0.000374 0.000384 0.001655 \n", "3 0.000267 0.000272 0.001589 \n", "4 0.000521 0.000534 0.001676 \n", "... ... ... ... \n", "2485 0.001087 0.001117 0.001081 \n", "2486 0.001113 0.001129 0.001154 \n", "2487 0.001193 0.001207 0.001276 \n", "2488 0.000593 0.000607 0.000596 \n", "2489 0.000000 0.000000 0.000000 \n", "\n", "[2490 rows x 1853 columns]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DR3_Allscans_full" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Row number --> OK :) (2490)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "#DR3_Allscans_full.to_csv('D:\\DATA-Processing\\PAC\\DR3_full.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.3 Data_annex" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "data_anex = glob(\"..\\DATA\\DATA-Processing\\PAC\\XP_1-1\\Samples\\*\\Data\\DR\\**_data_annex.csv\")" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2020_09_15\\\\Data\\\\DR\\\\2020_09_15_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2020_09_16\\\\Data\\\\DR\\\\2020_09_16_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2020_09_17\\\\Data\\\\DR\\\\2020_09_17_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2020_09_21\\\\Data\\\\DR\\\\2020_09_21_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2020_09_28\\\\Data\\\\DR\\\\2020_09_28_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2020_10_22\\\\Data\\\\DR\\\\2020_10_22_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2020_11_16\\\\Data\\\\DR\\\\2020_11_16_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2020_11_19\\\\Data\\\\DR\\\\2020_11_19_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2020_11_23\\\\Data\\\\DR\\\\2020_11_23_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2021_05_13\\\\Data\\\\DR\\\\2021_05_13_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2021_05_24\\\\Data\\\\DR\\\\2021_05_24_data_annex.csv',\n", " '..\\\\DATA\\\\DATA-Processing\\\\PAC\\\\XP_1-1\\\\Samples\\\\2021_07_13\\\\Data\\\\DR\\\\2021_07_13_data_annex.csv']" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_anex" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2.2 Merging" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "concat, not append" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2020_09_15_1 -0.017293 6630 -0.009476 4293 -0.009151 4147 \n", "1 ASW_2020_09_15_2 -0.017489 6636 -0.008995 4161 -0.009001 4132 \n", "2 ASW_2020_09_15_3 -0.017849 6636 -0.009715 4151 -0.009664 4132 \n", "3 ASW_2020_09_15_4 -0.006971 6630 -0.004298 4149 -0.004222 4120 \n", "\n", " min4 index4 min5 ... maxA0w maxBi maxB maxBw \\\n", "0 0.001203 2482 0.001967 ... 3270.249 2936 0.008422 2215.361 \n", "1 0.002430 2480 0.003482 ... 3246.143 2976 0.012062 2234.646 \n", "2 0.001595 2463 0.003063 ... 3233.125 2974 0.012331 2233.682 \n", "3 0.002220 2473 0.002968 ... 3228.304 2976 0.006884 2234.646 \n", "\n", " maxCi maxC maxCw Int_A Int_C Int_N_A \n", "0 1777 0.022221 1656.579 96.292003 6.703636 100.000000 \n", "1 1754 0.021662 1645.490 111.470194 7.622334 115.762670 \n", "2 1691 0.021226 1615.116 112.359014 8.424437 116.685717 \n", "3 1574 0.013023 1558.708 53.700867 4.010565 55.768771 \n", "\n", "[4 rows x 31 columns], Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2020_09_16_1 -0.018844 6636 -0.008464 4235 -0.008369 4139 \n", "1 ASW_2020_09_16_2 -0.017376 6636 -0.006804 4235 -0.006714 4139 \n", "2 ASW_2020_09_16_3 -0.015208 6636 -0.005247 4197 -0.005165 4130 \n", "3 ASW_2020_09_16_4 -0.014749 6631 -0.004931 4197 -0.004867 4130 \n", "4 ASW_2020_09_16_5 -0.014274 6620 -0.004424 4245 -0.004362 4130 \n", "5 ASW_2020_09_16_6 -0.013616 6636 -0.003845 4235 -0.003754 4139 \n", "6 ASW_2020_09_16_7 -0.013178 6632 -0.003492 4235 -0.003383 4139 \n", "7 ASW_2020_09_16_8 -0.012907 6632 -0.003190 4235 -0.003086 4139 \n", "8 ASW_2020_09_16_9 -0.013285 6636 -0.002969 4245 -0.002883 4139 \n", "9 ASW_2020_09_16_10 -0.013301 6636 -0.002779 4216 -0.002666 4139 \n", "10 ASW_2020_09_16_11 -0.013018 6636 -0.002502 4197 -0.002379 4120 \n", "11 ASW_2020_09_16_12 -0.012113 6636 -0.002024 4149 -0.001986 4130 \n", "12 ASW_2020_09_16_13 -0.011900 6636 -0.001360 4151 -0.001341 4132 \n", "13 ASW_2020_09_16_14 -0.011673 6636 -0.001157 4151 -0.001115 4130 \n", "14 ASW_2020_09_16_15 -0.011645 6636 -0.001251 4149 -0.001226 4139 \n", "15 ASW_2020_09_16_16 -0.011338 6636 -0.000905 4168 -0.000901 4139 \n", "16 ASW_2020_09_16_17 -0.011244 6636 -0.000821 4149 -0.000807 4139 \n", "17 ASW_2020_09_16_18 -0.011332 6636 -0.000989 4149 -0.001025 4130 \n", "18 ASW_2020_09_16_19 -0.010872 6636 -0.000882 4158 -0.000914 4130 \n", "19 ASW_2020_09_16_20 -0.010809 6636 -0.000910 4149 -0.000942 4130 \n", "20 ASW_2020_09_16_21 -0.011159 6636 -0.001222 4151 -0.001287 4103 \n", "21 ASW_2020_09_16_22 -0.010915 6630 -0.001349 4151 -0.001461 4111 \n", "22 ASW_2020_09_16_23 -0.010836 6630 -0.001540 4151 -0.001650 4084 \n", "23 ASW_2020_09_16_24 -0.014164 6636 -0.006225 4149 -0.006255 4101 \n", "24 ASW_2020_09_16_25 -0.013780 6636 -0.008598 4151 -0.008599 4122 \n", "25 ASW_2020_09_16_26 0.002459 6636 0.004937 4151 0.004895 4053 \n", "26 ASW_2020_09_16_27 0.007303 6636 0.007753 4533 0.008098 3959 \n", "27 ASW_2020_09_16_28 0.007890 6332 0.008135 4545 0.008503 4139 \n", "28 ASW_2020_09_16_29 0.008264 6332 0.008545 4563 0.008896 4139 \n", "29 ASW_2020_09_16_30 0.008619 6331 0.008641 4562 0.009109 4084 \n", "30 ASW_2020_09_16_31 0.008318 6636 0.008889 4543 0.009277 3959 \n", "\n", " min4 index4 min5 ... maxA0w maxBi maxB maxBw \\\n", "0 -0.001418 2403 -0.000786 ... 3268.321 2945 0.009284 2219.700 \n", "1 0.000216 2432 0.000863 ... 3264.464 2945 0.009251 2219.700 \n", "2 0.001310 2413 0.001796 ... 3264.464 2947 0.010343 2220.665 \n", "3 0.001626 2413 0.002152 ... 3264.464 2947 0.010512 2220.665 \n", "4 0.002212 2413 0.002702 ... 3264.464 2947 0.010562 2220.665 \n", "5 0.003361 2444 0.003725 ... 3255.303 2949 0.010078 2221.629 \n", "6 0.003972 2425 0.004340 ... 3255.303 2951 0.010252 2222.593 \n", "7 0.004323 2406 0.004697 ... 3255.303 2951 0.010345 2222.593 \n", "8 0.004149 2415 0.004730 ... 3251.446 2959 0.011390 2226.450 \n", "9 0.004334 2367 0.004952 ... 3251.446 2959 0.011787 2226.450 \n", "10 0.004644 2367 0.005298 ... 3250.482 2959 0.011822 2226.450 \n", "11 0.005265 2415 0.005871 ... 3251.446 2959 0.011693 2226.450 \n", "12 0.005725 2367 0.006299 ... 3250.482 2980 0.012006 2236.575 \n", "13 0.005912 2415 0.006504 ... 3250.482 2959 0.011885 2226.450 \n", "14 0.006022 2415 0.006723 ... 3250.482 2966 0.011713 2229.825 \n", "15 0.006207 2415 0.006852 ... 3247.107 2964 0.012078 2228.861 \n", "16 0.006330 2415 0.006958 ... 3247.107 2964 0.012166 2228.861 \n", "17 0.006762 2480 0.007738 ... 3246.625 2957 0.011663 2225.486 \n", "18 0.006530 2480 0.008113 ... 3246.625 2978 0.011855 2235.610 \n", "19 0.006549 2480 0.008185 ... 3246.143 2978 0.011966 2235.610 \n", "20 0.006266 2415 0.007035 ... 3242.286 2966 0.012110 2229.825 \n", "21 0.006305 2444 0.007058 ... 3232.161 2976 0.012184 2234.646 \n", "22 0.006335 2396 0.007176 ... 3228.304 2976 0.012485 2234.646 \n", "23 0.003633 2444 0.004862 ... 3228.304 2976 0.011491 2234.646 \n", "24 0.001659 2484 0.002442 ... 3228.304 2978 0.008953 2235.610 \n", "25 0.006344 2329 0.006488 ... 3227.822 2978 0.004050 2235.610 \n", "26 0.007518 2300 0.007247 ... 3228.304 2295 0.001530 1906.319 \n", "27 0.008035 2480 0.007282 ... 3242.286 2698 0.001674 2100.615 \n", "28 0.008449 2480 0.007719 ... 3242.286 2698 0.001720 2100.615 \n", "29 0.008596 2480 0.008381 ... 3228.304 2602 0.001573 2054.332 \n", "30 0.008351 2461 0.008204 ... 3223.965 2437 0.002416 1974.781 \n", "\n", " maxCi maxC maxCw Int_A Int_C Int_N_A \n", "0 1773 0.023557 1654.651 95.913079 6.952239 100.000000 \n", "1 1771 0.023602 1653.686 96.271574 7.064048 100.373772 \n", "2 1754 0.024362 1645.490 98.372535 7.669780 102.564255 \n", "3 1754 0.024289 1645.490 98.949916 7.710412 103.166239 \n", "4 1754 0.024293 1645.490 99.128959 7.740047 103.352911 \n", "5 1756 0.023139 1646.454 102.427355 8.047927 106.791854 \n", "6 1756 0.022505 1646.454 103.570509 8.057326 107.983719 \n", "7 1756 0.022478 1646.454 103.920588 8.069566 108.348714 \n", "8 1754 0.022548 1645.490 106.316388 8.023931 110.846602 \n", "9 1754 0.022958 1645.490 107.623907 8.026164 112.209835 \n", "10 1754 0.022904 1645.490 107.980853 8.037065 112.581991 \n", "11 1754 0.020700 1645.490 108.386906 8.033410 113.005345 \n", "12 1771 0.021517 1653.686 109.276611 8.503723 113.932962 \n", "13 1771 0.021516 1653.686 109.502264 8.477687 114.168230 \n", "14 1699 0.020339 1618.973 109.378492 8.007280 114.039184 \n", "15 1769 0.020189 1652.722 109.838625 8.093852 114.518923 \n", "16 1769 0.020213 1652.722 110.041893 8.142568 114.730852 \n", "17 1754 0.021377 1645.490 109.763420 7.476483 114.440514 \n", "18 1697 0.021481 1618.009 109.666245 7.569996 114.339198 \n", "19 1697 0.021457 1618.009 109.738473 7.560006 114.414504 \n", "20 1699 0.020884 1618.973 109.665610 8.124397 114.338537 \n", "21 1535 0.020529 1539.905 109.891203 8.369954 114.573742 \n", "22 1535 0.020793 1539.905 110.395286 8.440394 115.099305 \n", "23 1697 0.019248 1618.009 108.090993 7.265889 112.696823 \n", "24 1535 0.016275 1539.905 83.840839 5.785232 87.413354 \n", "25 1535 0.009392 1539.905 27.229288 2.969525 28.389547 \n", "26 1495 0.004807 1520.620 3.170572 1.399266 3.305672 \n", "27 1495 0.006589 1520.620 2.966754 1.841489 3.093169 \n", "28 1495 0.006580 1520.620 3.023007 1.840784 3.151819 \n", "29 1574 0.004599 1558.708 3.025809 1.338555 3.154741 \n", "30 1495 0.006633 1520.620 3.256800 1.924223 3.395574 \n", "\n", "[31 rows x 31 columns], Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2020_09_17_1 -0.041049 6638 -0.053565 4353 -0.051591 4144 \n", "1 ASW_2020_09_17_2 -0.041270 6638 -0.053673 4355 -0.051672 4144 \n", "2 ASW_2020_09_17_3 -0.041100 6638 -0.053635 4372 -0.051417 4148 \n", "3 ASW_2020_09_17_4 -0.041266 6633 -0.053916 4361 -0.051628 4148 \n", "4 ASW_2020_09_17_5 -0.041279 6633 -0.053935 4374 -0.051636 4148 \n", "5 ASW_2020_09_17_6 -0.041531 6633 -0.054154 4374 -0.051706 4144 \n", "6 ASW_2020_09_17_7 -0.041550 6633 -0.054193 4374 -0.051757 4146 \n", "7 ASW_2020_09_17_8 -0.041348 6633 -0.054032 4374 -0.051564 4146 \n", "8 ASW_2020_09_17_9 -0.041813 6638 -0.053609 4357 -0.051546 4146 \n", "9 ASW_2020_09_17_10 -0.042010 6638 -0.053469 4338 -0.051491 4146 \n", "10 ASW_2020_09_17_11 -0.041987 6638 -0.053413 4338 -0.051391 4146 \n", "11 ASW_2020_09_17_12 -0.042061 6638 -0.052986 4322 -0.051464 4148 \n", "12 ASW_2020_09_17_13 -0.042228 6638 -0.052661 4324 -0.051230 4147 \n", "13 ASW_2020_09_17_14 -0.041972 6638 -0.052482 4295 -0.051025 4147 \n", "14 ASW_2020_09_17_15 -0.041883 6638 -0.051754 4288 -0.050816 4144 \n", "15 ASW_2020_09_17_16 -0.041787 6638 -0.051383 4242 -0.050580 4144 \n", "16 ASW_2020_09_17_17 -0.041580 6638 -0.051154 4261 -0.050351 4144 \n", "17 ASW_2020_09_17_18 -0.041343 6638 -0.050699 4230 -0.050000 4142 \n", "18 ASW_2020_09_17_19 -0.040932 6633 -0.050375 4230 -0.049711 4142 \n", "19 ASW_2020_09_17_20 -0.040861 6633 -0.050217 4230 -0.049580 4144 \n", "20 ASW_2020_09_17_21 -0.040727 6633 -0.049719 4247 -0.049215 4147 \n", "21 ASW_2020_09_17_22 -0.040232 6633 -0.049096 4228 -0.048607 4140 \n", "22 ASW_2020_09_17_23 -0.039847 6633 -0.048639 4228 -0.048192 4132 \n", "23 ASW_2020_09_17_24 -0.039404 6638 -0.046864 4184 -0.046810 4136 \n", "24 ASW_2020_09_17_25 -0.034788 6638 -0.038723 4175 -0.038613 4146 \n", "25 ASW_2020_09_17_26 -0.013245 6638 -0.012364 4213 -0.012120 4144 \n", "26 ASW_2020_09_17_27 0.005091 6638 0.005379 4562 0.005726 4132 \n", "27 ASW_2020_09_17_28 0.005975 6633 0.005630 4562 0.006364 4132 \n", "\n", " min4 index4 min5 ... maxA0w maxBi maxB maxBw \\\n", "0 -0.026561 2483 -0.023261 ... 3293.391 2940 0.010735 2217.290 \n", "1 -0.026568 2483 -0.023255 ... 3289.052 2940 0.010743 2217.290 \n", "2 -0.025492 2483 -0.021956 ... 3280.374 2940 0.011222 2217.290 \n", "3 -0.025534 2483 -0.021993 ... 3279.892 2940 0.011301 2217.290 \n", "4 -0.025461 2483 -0.021957 ... 3276.035 2940 0.011437 2217.290 \n", "5 -0.025538 2473 -0.022032 ... 3265.910 2959 0.013357 2226.450 \n", "6 -0.025422 2473 -0.021894 ... 3262.053 2959 0.013781 2226.450 \n", "7 -0.025145 2473 -0.021623 ... 3262.053 2978 0.013934 2235.610 \n", "8 -0.024607 2473 -0.020855 ... 3258.196 2978 0.014325 2235.610 \n", "9 -0.024534 2473 -0.020687 ... 3257.232 2978 0.014972 2235.610 \n", "10 -0.024377 2473 -0.020547 ... 3257.232 2978 0.015035 2235.610 \n", "11 -0.024290 2473 -0.020396 ... 3256.268 2978 0.015104 2235.610 \n", "12 -0.024098 2482 -0.020072 ... 3256.268 2988 0.015436 2240.432 \n", "13 -0.023904 2482 -0.019835 ... 3256.268 2988 0.015455 2240.432 \n", "14 -0.023720 2473 -0.019773 ... 3254.339 2988 0.015600 2240.432 \n", "15 -0.023597 2473 -0.019453 ... 3253.375 2988 0.015976 2240.432 \n", "16 -0.023371 2482 -0.019255 ... 3252.411 2988 0.015818 2240.432 \n", "17 -0.023107 2483 -0.019587 ... 3254.339 2978 0.015517 2235.610 \n", "18 -0.022701 2483 -0.019206 ... 3253.375 2978 0.015520 2235.610 \n", "19 -0.022563 2483 -0.019068 ... 3252.411 2978 0.015529 2235.610 \n", "20 -0.022598 2473 -0.018500 ... 3252.893 2988 0.015668 2240.432 \n", "21 -0.022263 2473 -0.017958 ... 3244.214 2988 0.015724 2240.432 \n", "22 -0.021806 2473 -0.017448 ... 3238.911 2988 0.015824 2240.432 \n", "23 -0.020812 2473 -0.016158 ... 3232.644 3007 0.015618 2249.592 \n", "24 -0.015231 2473 -0.011197 ... 3230.233 3026 0.013833 2258.752 \n", "25 -0.001047 2473 0.000863 ... 3228.304 3026 0.007350 2258.752 \n", "26 0.006629 2425 0.006986 ... 3224.929 2353 0.001953 1934.283 \n", "27 0.006884 2329 0.007150 ... 3241.322 2305 0.002652 1911.141 \n", "\n", " maxCi maxC maxCw Int_A Int_C Int_N_A \n", "0 1835 0.030168 1684.542 135.148307 5.806995 100.000000 \n", "1 1835 0.030455 1684.542 135.402168 6.249885 100.187839 \n", "2 1814 0.028092 1674.418 139.668744 5.387251 103.344797 \n", "3 1814 0.027993 1674.418 140.633365 5.855341 104.058547 \n", "4 1814 0.027857 1674.418 141.038119 5.758875 104.358036 \n", "5 1814 0.028235 1674.418 146.782680 7.007985 108.608597 \n", "6 1814 0.027795 1674.418 148.618855 7.174062 109.967234 \n", "7 1814 0.027677 1674.418 149.121309 7.204706 110.339014 \n", "8 1814 0.024760 1674.418 152.408599 6.885394 112.771371 \n", "9 1814 0.024572 1674.418 154.066032 7.388391 113.997752 \n", "10 1814 0.024441 1674.418 154.444547 7.414897 114.277826 \n", "11 1776 0.024353 1656.097 155.071749 7.140653 114.741910 \n", "12 1776 0.024087 1656.097 156.217955 7.391837 115.590020 \n", "13 1776 0.024028 1656.097 156.422587 7.409158 115.741432 \n", "14 1795 0.024562 1665.257 156.144672 7.645946 115.535796 \n", "15 1835 0.023701 1684.542 156.649678 6.152382 115.909464 \n", "16 1835 0.023294 1684.542 156.939959 5.738137 116.124251 \n", "17 1814 0.023472 1674.418 156.481455 6.948400 115.784991 \n", "18 1754 0.024173 1645.490 156.748946 7.562134 115.982915 \n", "19 1754 0.024207 1645.490 156.973342 7.568792 116.148952 \n", "20 1795 0.024614 1665.257 156.551748 7.727592 115.837003 \n", "21 1776 0.024433 1656.097 156.905620 7.734879 116.098842 \n", "22 1776 0.024010 1656.097 156.991053 7.448137 116.162056 \n", "23 1697 0.022184 1618.009 156.348744 6.354408 115.686794 \n", "24 1699 0.019466 1618.973 128.467096 5.824587 95.056385 \n", "25 1697 0.011157 1618.009 55.115755 3.628102 40.781684 \n", "26 1697 0.003724 1618.009 3.576484 1.192419 2.646340 \n", "27 578 0.004862 1078.512 2.706240 1.708501 2.002422 \n", "\n", "[28 rows x 31 columns], Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2020_09_21_1 -0.024190 6635 -0.021363 4408 -0.019372 4147 \n", "1 ASW_2020_09_21_2 -0.023390 6635 -0.020446 4408 -0.018472 4147 \n", "2 ASW_2020_09_21_3 -0.022978 6638 -0.019493 4413 -0.017551 4145 \n", "3 ASW_2020_09_21_4 -0.022961 6638 -0.019394 4404 -0.017429 4145 \n", "4 ASW_2020_09_21_5 -0.022826 6638 -0.019274 4404 -0.017250 4145 \n", "5 ASW_2020_09_21_6 -0.022259 6638 -0.018912 4389 -0.016856 4147 \n", "6 ASW_2020_09_21_7 -0.022216 6638 -0.018716 4389 -0.016632 4147 \n", "7 ASW_2020_09_21_8 -0.022156 6638 -0.018649 4408 -0.016515 4147 \n", "8 ASW_2020_09_21_9 -0.021014 6635 -0.018046 4389 -0.016279 4147 \n", "9 ASW_2020_09_21_10 -0.020738 6635 -0.017794 4381 -0.015959 4141 \n", "10 ASW_2020_09_21_11 -0.020528 6635 -0.017625 4383 -0.015784 4141 \n", "11 ASW_2020_09_21_12 -0.020188 6634 -0.016946 4358 -0.015520 4145 \n", "12 ASW_2020_09_21_13 -0.019821 6636 -0.016477 4329 -0.015199 4145 \n", "13 ASW_2020_09_21_14 -0.019420 6635 -0.016119 4329 -0.014845 4145 \n", "14 ASW_2020_09_21_15 -0.019226 6635 -0.015382 4283 -0.014569 4147 \n", "15 ASW_2020_09_21_16 -0.018965 6638 -0.014864 4283 -0.014110 4147 \n", "16 ASW_2020_09_21_17 -0.018702 6638 -0.014561 4283 -0.013823 4147 \n", "17 ASW_2020_09_21_18 -0.018787 6638 -0.014501 4262 -0.013889 4147 \n", "18 ASW_2020_09_21_19 -0.019221 6638 -0.014377 4243 -0.013883 4147 \n", "19 ASW_2020_09_21_20 -0.019109 6638 -0.014228 4264 -0.013762 4147 \n", "20 ASW_2020_09_21_21 -0.019282 6638 -0.014379 4233 -0.013907 4145 \n", "21 ASW_2020_09_21_22 -0.019843 6638 -0.014471 4243 -0.014056 4145 \n", "22 ASW_2020_09_21_23 -0.019504 6638 -0.014153 4214 -0.013797 4145 \n", "23 ASW_2020_09_21_24 -0.018905 6638 -0.014180 4195 -0.014076 4147 \n", "24 ASW_2020_09_21_25 -0.008469 6634 -0.004991 4191 -0.004949 4141 \n", "25 ASW_2020_09_21_26 0.005774 6634 0.006492 4250 0.006626 4034 \n", "26 ASW_2020_09_21_27 0.006858 6334 0.006554 4559 0.007121 4147 \n", "27 ASW_2020_09_21_28 0.006282 6638 0.006698 4550 0.007404 4099 \n", "\n", " min4 index4 min5 ... maxA0w maxBi maxB maxBw \\\n", "0 -0.004675 2482 -0.003455 ... 3277.481 2947 0.007965 2220.665 \n", "1 -0.003923 2482 -0.002717 ... 3273.624 2947 0.007976 2220.665 \n", "2 -0.003091 2489 -0.001809 ... 3272.660 2964 0.008282 2228.861 \n", "3 -0.002985 2489 -0.001640 ... 3268.803 2964 0.008400 2228.861 \n", "4 -0.002768 2489 -0.001449 ... 3267.839 2964 0.008481 2228.861 \n", "5 -0.002739 2480 -0.001496 ... 3259.642 2974 0.009784 2233.682 \n", "6 -0.002465 2480 -0.001256 ... 3259.642 2974 0.009957 2233.682 \n", "7 -0.002311 2480 -0.001079 ... 3258.678 2974 0.010071 2233.682 \n", "8 -0.001858 2480 -0.000408 ... 3254.821 2964 0.010422 2228.861 \n", "9 -0.001698 2480 -0.000284 ... 3253.857 2974 0.010848 2233.682 \n", "10 -0.001495 2480 -0.000022 ... 3253.857 2974 0.010910 2233.682 \n", "11 -0.000897 2480 0.000702 ... 3254.339 2974 0.010826 2233.682 \n", "12 -0.000607 2480 0.000983 ... 3250.482 2974 0.011229 2233.682 \n", "13 -0.000280 2480 0.001307 ... 3250.482 2974 0.011235 2233.682 \n", "14 -0.000096 2480 0.001628 ... 3253.857 2974 0.011074 2233.682 \n", "15 0.000031 2480 0.001786 ... 3249.518 2976 0.011291 2234.646 \n", "16 0.000334 2480 0.002021 ... 3249.518 2976 0.011190 2234.646 \n", "17 0.000887 2482 0.001990 ... 3249.518 2964 0.011057 2228.861 \n", "18 0.001161 2489 0.002158 ... 3249.518 2993 0.011005 2242.842 \n", "19 0.001315 2489 0.002354 ... 3249.518 2993 0.011012 2242.842 \n", "20 0.000304 2480 0.002248 ... 3249.518 2985 0.011111 2238.985 \n", "21 0.000039 2480 0.001931 ... 3243.732 2983 0.011126 2238.021 \n", "22 0.000187 2480 0.002116 ... 3235.536 2983 0.011147 2238.021 \n", "23 -0.000267 2480 0.001992 ... 3230.715 2993 0.010732 2242.842 \n", "24 0.003089 2480 0.004251 ... 3227.340 2993 0.007173 2242.842 \n", "25 0.007346 2365 0.007449 ... 3226.376 2320 0.002181 1918.373 \n", "26 0.007820 2365 0.007820 ... 3235.536 2320 0.001697 1918.373 \n", "27 0.008061 2298 0.007917 ... 3235.536 2322 0.001954 1919.337 \n", "\n", " maxCi maxC maxCw Int_A Int_C Int_N_A \n", "0 1785 0.019938 1660.436 88.680361 5.302705 100.000000 \n", "1 1785 0.020090 1660.436 88.678660 5.579043 99.998081 \n", "2 1771 0.019792 1653.686 90.619014 5.523779 102.186112 \n", "3 1771 0.019782 1653.686 91.273150 5.553721 102.923746 \n", "4 1771 0.019890 1653.686 91.534144 5.623779 103.218055 \n", "5 1802 0.020415 1668.632 94.993549 6.029632 107.119036 \n", "6 1802 0.020625 1668.632 96.159751 6.759778 108.434099 \n", "7 1802 0.020583 1668.632 96.483848 6.794238 108.799566 \n", "8 1771 0.018731 1653.686 98.075058 6.683564 110.593887 \n", "9 1771 0.019553 1653.686 99.088457 6.906236 111.736641 \n", "10 1771 0.019569 1653.686 99.348481 6.934031 112.029856 \n", "11 1754 0.017284 1645.490 100.108583 5.864341 112.886982 \n", "12 1756 0.017001 1646.454 100.848724 6.205336 113.721599 \n", "13 1756 0.016985 1646.454 101.084908 6.179590 113.987929 \n", "14 1754 0.018376 1645.490 101.152267 6.829697 114.063886 \n", "15 1697 0.018297 1618.009 101.661938 6.951543 114.638616 \n", "16 1697 0.018379 1618.009 101.918675 6.966613 114.928124 \n", "17 1771 0.018300 1653.686 101.998480 5.952818 115.018115 \n", "18 1771 0.018923 1653.686 102.635762 6.192575 115.736743 \n", "19 1771 0.018730 1653.686 102.776710 6.146912 115.895683 \n", "20 1754 0.018467 1645.490 102.469812 6.359011 115.549610 \n", "21 1697 0.018545 1618.009 102.715825 6.870105 115.827026 \n", "22 1697 0.018414 1618.009 102.436553 6.913507 115.512106 \n", "23 1754 0.016847 1645.490 98.934311 6.228148 111.562819 \n", "24 1570 0.011939 1556.779 60.646382 4.024592 68.387613 \n", "25 1570 0.006015 1556.779 8.738037 2.052757 9.853407 \n", "26 566 0.003866 1072.727 3.421708 1.361210 3.858473 \n", "27 1570 0.005483 1556.779 3.997098 1.954863 4.507309 \n", "\n", "[28 rows x 31 columns], Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2020_09_28_1 -0.026504 6620 -0.024226 4401 -0.022407 4134 \n", "1 ASW_2020_09_28_2 -0.025427 6636 -0.022822 4372 -0.021184 4144 \n", "2 ASW_2020_09_28_3 -0.024675 6636 -0.021948 4401 -0.020278 4142 \n", "3 ASW_2020_09_28_4 -0.024353 6632 -0.021656 4393 -0.019961 4142 \n", "4 ASW_2020_09_28_5 -0.024163 6632 -0.021448 4401 -0.019691 4134 \n", ".. ... ... ... ... ... ... ... \n", "75 ASW_2020_09_28_76 0.033360 6633 0.035411 4154 0.035383 4135 \n", "76 ASW_2020_09_28_77 0.039784 6633 0.040950 4154 0.040848 4077 \n", "77 ASW_2020_09_28_78 0.043527 6335 0.043778 4163 0.043654 3962 \n", "78 ASW_2020_09_28_79 0.043639 6638 0.043704 4557 0.044042 3943 \n", "79 ASW_2020_09_28_80 0.016138 6633 0.020018 4211 0.020286 4136 \n", "\n", " min4 index4 min5 ... maxA0w maxBi maxB maxBw \\\n", "0 -0.009105 2458 -0.007995 ... 3272.178 2923 0.009211 2209.094 \n", "1 -0.007454 2477 -0.006254 ... 3276.035 2942 0.007386 2218.254 \n", "2 -0.006614 2477 -0.005435 ... 3276.035 2942 0.007681 2218.254 \n", "3 -0.006287 2477 -0.005064 ... 3271.213 2923 0.007746 2209.094 \n", "4 -0.005975 2458 -0.004768 ... 3276.035 2942 0.007936 2218.254 \n", ".. ... ... ... ... ... ... ... ... \n", "75 0.040743 2479 0.041975 ... 3226.858 2990 0.005160 2241.396 \n", "76 0.043054 2479 0.043847 ... 3225.894 3040 0.003348 2265.502 \n", "77 0.043991 2345 0.043920 ... 3224.929 2300 0.002073 1908.730 \n", "78 0.044228 2345 0.044163 ... 3224.929 2321 0.002171 1918.855 \n", "79 0.033108 2489 0.034497 ... 3248.072 3037 0.011578 2264.056 \n", "\n", " maxCi maxC maxCw Int_A Int_C Int_N_A \n", "0 1780 0.022529 1658.026 86.558093 6.591012 100.000000 \n", "1 1771 0.019989 1653.686 86.043652 5.563222 99.405669 \n", "2 1771 0.020173 1653.686 86.876902 5.599657 100.368318 \n", "3 1771 0.020165 1653.686 87.117734 5.607032 100.646549 \n", "4 1771 0.020096 1653.686 87.298165 5.540918 100.855000 \n", ".. ... ... ... ... ... ... \n", "75 1675 0.008315 1607.402 40.624815 2.506664 46.933584 \n", "76 1675 0.006200 1607.402 22.869835 1.940948 26.421371 \n", "77 947 0.005038 1256.416 5.198979 2.124355 6.006347 \n", "78 947 0.005697 1256.416 3.493992 2.447063 4.036586 \n", "79 1698 0.018059 1618.491 102.387413 7.200944 118.287510 \n", "\n", "[80 rows x 31 columns], Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2020_10_22_1 0.014819 6636 0.018631 4326 0.019603 4134 \n", "1 ASW_2020_10_22_2 -0.022843 6636 -0.015237 4395 -0.013955 4134 \n", "2 ASW_2020_10_22_3 -0.029230 6636 -0.020667 4268 -0.019819 4143 \n", "3 ASW_2020_10_22_4 -0.027761 6636 -0.018797 4249 -0.018241 4144 \n", "4 ASW_2020_10_22_5 -0.030971 6637 -0.021733 4251 -0.021147 4134 \n", ".. ... ... ... ... ... ... ... \n", "62 ASW_2020_10_22_63 -0.026737 6637 -0.019604 4237 -0.019420 4144 \n", "63 ASW_2020_10_22_64 -0.024439 6638 -0.017377 4237 -0.017269 4144 \n", "64 ASW_2020_10_22_65 -0.022301 6638 -0.015511 4247 -0.015393 4144 \n", "65 ASW_2020_10_22_66 -0.020372 6638 -0.013859 4245 -0.013783 4144 \n", "66 ASW_2020_10_22_67 -0.013516 6636 -0.008561 4182 -0.008546 4134 \n", "\n", " min4 index4 min5 ... maxA0w maxBi maxB maxBw \\\n", "0 0.031884 2459 0.032713 ... 3272.660 2955 0.009482 2224.521 \n", "1 0.000369 2478 0.001672 ... 3272.660 2926 0.009332 2210.540 \n", "2 -0.004564 2478 -0.003160 ... 3254.339 2974 0.010775 2233.682 \n", "3 -0.002777 2476 -0.000697 ... 3250.482 2974 0.011963 2233.682 \n", "4 -0.005513 2486 -0.003327 ... 3249.518 2974 0.011912 2233.682 \n", ".. ... ... ... ... ... ... ... ... \n", "62 -0.006983 2469 -0.005708 ... 3226.858 2993 0.008266 2242.842 \n", "63 -0.005614 2469 -0.004496 ... 3226.376 2993 0.007831 2242.842 \n", "64 -0.004635 2459 -0.003677 ... 3226.858 3022 0.007336 2256.824 \n", "65 -0.003965 2469 -0.003115 ... 3226.376 2982 0.006928 2237.539 \n", "66 -0.002468 2486 -0.000886 ... 3226.858 2974 0.004705 2233.682 \n", "\n", " maxCi maxC maxCw Int_A Int_C Int_N_A \n", "0 1789 0.021203 1662.365 96.288989 4.550228 100.000000 \n", "1 1789 0.022469 1662.365 95.908370 5.544767 99.604712 \n", "2 1760 0.019923 1648.383 105.914224 7.060409 109.996195 \n", "3 1760 0.019266 1648.383 108.987482 6.933768 113.187898 \n", "4 1760 0.019564 1648.383 109.252891 7.234991 113.463536 \n", ".. ... ... ... ... ... ... \n", "62 1694 0.012402 1616.563 73.168245 5.227288 75.988175 \n", "63 1694 0.011845 1616.563 68.500794 5.015416 71.140838 \n", "64 1694 0.011156 1616.563 63.701469 4.740874 66.156546 \n", "65 1694 0.010578 1616.563 58.925336 4.483670 61.196339 \n", "66 1691 0.007734 1615.116 40.133157 2.805107 41.679902 \n", "\n", "[67 rows x 31 columns], Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2020_11_16_1 -0.010121 6626 -0.009355 4383 -0.008172 4147 \n", "1 ASW_2020_11_16_2 -0.026869 6637 -0.023372 4383 -0.021893 4148 \n", "2 ASW_2020_11_16_3 -0.028153 6636 -0.023769 4383 -0.022059 4147 \n", "3 ASW_2020_11_16_4 -0.026518 6636 -0.022628 4383 -0.020908 4147 \n", "4 ASW_2020_11_16_5 -0.026869 6636 -0.022787 4383 -0.020939 4147 \n", ".. ... ... ... ... ... ... ... \n", "84 ASW_2020_11_16_85 -0.028089 6636 -0.023765 4212 -0.023512 4145 \n", "85 ASW_2020_11_16_86 -0.027660 6636 -0.023311 4224 -0.023026 4145 \n", "86 ASW_2020_11_16_87 -0.026231 6636 -0.022321 4212 -0.022064 4145 \n", "87 ASW_2020_11_16_88 -0.026257 6636 -0.022117 4212 -0.021893 4145 \n", "88 ASW_2020_11_16_89 -0.009999 6636 -0.007569 4154 -0.007616 4144 \n", "\n", " min4 index4 min5 ... maxA0w maxBi maxB maxBw \\\n", "0 0.005017 2488 0.006147 ... 3277.481 2947 0.007971 2220.665 \n", "1 -0.007076 2478 -0.005719 ... 3273.624 2928 0.008250 2211.504 \n", "2 -0.007937 2488 -0.006685 ... 3262.535 2955 0.010532 2224.521 \n", "3 -0.006668 2488 -0.005349 ... 3258.196 2955 0.010946 2224.521 \n", "4 -0.006565 2488 -0.005277 ... 3258.196 2955 0.010908 2224.521 \n", ".. ... ... ... ... ... ... ... ... \n", "84 -0.008379 2479 -0.006823 ... 3226.376 2993 0.010435 2242.842 \n", "85 -0.008107 2488 -0.006541 ... 3226.376 2993 0.010305 2242.842 \n", "86 -0.007428 2488 -0.005895 ... 3226.376 3022 0.010178 2256.824 \n", "87 -0.007197 2479 -0.005681 ... 3226.376 2993 0.010150 2242.842 \n", "88 -0.003184 2363 -0.003027 ... 3223.001 2993 0.005525 2242.842 \n", "\n", " maxCi maxC maxCw Int_A Int_C Int_N_A \n", "0 1790 0.021751 1662.847 96.870340 5.913422 100.000000 \n", "1 1780 0.021978 1658.026 96.939281 6.078172 100.071168 \n", "2 1779 0.022222 1657.543 103.933533 7.059747 107.291389 \n", "3 1779 0.021728 1657.543 106.204256 7.152024 109.635474 \n", "4 1779 0.021779 1657.543 106.420222 7.234453 109.858417 \n", ".. ... ... ... ... ... ... \n", "84 1694 0.015213 1616.563 93.859992 6.298993 96.892395 \n", "85 1694 0.015076 1616.563 92.901573 6.225848 95.903012 \n", "86 1694 0.014895 1616.563 91.949100 6.146797 94.919766 \n", "87 1694 0.014744 1616.563 90.926319 6.090073 93.863941 \n", "88 1694 0.008163 1616.563 42.185939 3.502538 43.548870 \n", "\n", "[89 rows x 31 columns], Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2020_11_19_1 -0.022255 6636 -0.014984 4239 -0.014844 4141 \n", "1 ASW_2020_11_19_2 -0.021923 6636 -0.014678 4258 -0.014551 4141 \n", "2 ASW_2020_11_19_3 -0.020756 6636 -0.013996 4247 -0.013787 4141 \n", "3 ASW_2020_11_19_4 -0.020955 6636 -0.014144 4247 -0.013911 4141 \n", "4 ASW_2020_11_19_5 -0.020809 6636 -0.013993 4239 -0.013722 4141 \n", ".. ... ... ... ... ... ... ... \n", "155 ASW_2020_11_19_156 -0.006684 6636 -0.001928 4166 -0.002012 4116 \n", "156 ASW_2020_11_19_157 -0.005365 6636 -0.000708 4166 -0.000795 4097 \n", "157 ASW_2020_11_19_158 0.001811 6636 0.005097 4156 0.004987 4097 \n", "158 ASW_2020_11_19_159 0.115129 6636 0.108430 4156 0.107438 3942 \n", "159 ASW_2020_11_19_160 -0.001314 6636 0.000191 4156 -0.000612 3951 \n", "\n", " min4 index4 min5 ... maxA0w maxBi maxB maxBw \\\n", "0 -0.005657 2466 -0.004707 ... 3271.696 2943 0.009633 2218.736 \n", "1 -0.005469 2466 -0.004570 ... 3267.356 2943 0.009603 2218.736 \n", "2 -0.004433 2440 -0.003640 ... 3257.714 2954 0.010272 2224.039 \n", "3 -0.004228 2440 -0.003406 ... 3257.714 2962 0.010502 2227.896 \n", "4 -0.004041 2488 -0.003245 ... 3257.714 2960 0.010316 2226.932 \n", ".. ... ... ... ... ... ... ... ... \n", "155 0.001997 2485 0.002317 ... 3225.412 3003 0.004499 2247.664 \n", "156 0.003111 2485 0.003370 ... 3225.412 2974 0.004437 2233.682 \n", "157 0.008112 2483 0.008396 ... 3225.412 2974 0.004239 2233.682 \n", "158 0.107005 2483 0.107452 ... 3227.340 2974 0.003423 2233.682 \n", "159 -0.001645 2285 -0.002079 ... 3225.412 2934 0.002297 2214.397 \n", "\n", " maxCi maxC maxCw Int_A Int_C Int_N_A \n", "0 1786 0.024570 1660.918 101.446420 7.401140 100.000000 \n", "1 1786 0.024570 1660.918 101.462372 7.399730 100.015724 \n", "2 1779 0.022942 1657.543 107.069815 7.809192 105.543217 \n", "3 1779 0.022413 1657.543 108.340997 7.787821 106.796275 \n", "4 1779 0.022392 1657.543 108.715090 7.893904 107.165034 \n", ".. ... ... ... ... ... ... \n", "155 1699 0.006401 1618.973 40.564471 2.177198 39.986104 \n", "156 1757 0.006255 1646.937 39.437048 2.146906 38.874755 \n", "157 1699 0.005886 1618.973 38.505910 2.184976 37.956894 \n", "158 499 0.034891 1040.424 38.132260 3.647014 37.588572 \n", "159 1346 0.004708 1448.784 15.318774 2.090059 15.100360 \n", "\n", "[160 rows x 31 columns], Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2020_11_23_1 -0.048605 6636 -0.054942 4425 -0.051454 4147 \n", "1 ASW_2020_11_23_2 -0.048993 6636 -0.054901 4425 -0.051299 4147 \n", "2 ASW_2020_11_23_3 -0.048375 6636 -0.054771 4415 -0.051253 4146 \n", "3 ASW_2020_11_23_4 -0.026927 6636 -0.033931 4425 -0.030514 4146 \n", "4 ASW_2020_11_23_5 -0.047706 6636 -0.054582 4425 -0.050982 4146 \n", ".. ... ... ... ... ... ... ... \n", "160 ASW_2020_11_23_161 -0.023476 6634 -0.021884 4557 -0.020983 4146 \n", "161 ASW_2020_11_23_162 -0.023096 6634 -0.021644 4537 -0.020652 4146 \n", "162 ASW_2020_11_23_163 -0.005374 6634 -0.003921 4547 -0.003129 4146 \n", "163 ASW_2020_11_23_164 -0.022173 6634 -0.021017 4557 -0.020003 4146 \n", "164 ASW_2020_11_23_165 -0.021724 6634 -0.020708 4555 -0.019500 4146 \n", "\n", " min4 index4 min5 ... maxA0w maxBi maxB maxBw \\\n", "0 -0.027763 2481 -0.024776 ... 3265.910 2967 0.010980 2230.307 \n", "1 -0.027272 2489 -0.024254 ... 3265.910 2967 0.010892 2230.307 \n", "2 -0.027716 2479 -0.024967 ... 3264.946 2967 0.012430 2230.307 \n", "3 -0.006862 2471 -0.004306 ... 3260.607 2967 0.013197 2230.307 \n", "4 -0.027427 2479 -0.024669 ... 3260.607 2967 0.012906 2230.307 \n", ".. ... ... ... ... ... ... ... ... \n", "160 -0.018501 2335 -0.018258 ... 3219.626 2359 0.002775 1937.175 \n", "161 -0.018287 2335 -0.018074 ... 3218.662 2984 0.002813 2238.503 \n", "162 -0.000935 2335 -0.000807 ... 3218.662 2984 0.002908 2238.503 \n", "163 -0.017830 2335 -0.017583 ... 3218.662 2359 0.002763 1937.175 \n", "164 -0.017328 2335 -0.017110 ... 3218.662 2359 0.002770 1937.175 \n", "\n", " maxCi maxC maxCw Int_A Int_C Int_N_A \n", "0 1801 0.022375 1668.150 119.768412 4.997663 103.317735 \n", "1 1801 0.022296 1668.150 120.179675 4.893321 103.672509 \n", "2 1809 0.023067 1672.007 122.450319 5.325348 105.631271 \n", "3 1810 0.022556 1672.489 123.960379 5.494804 106.933919 \n", "4 1810 0.023123 1672.489 124.157452 5.862579 107.103923 \n", ".. ... ... ... ... ... ... \n", "160 588 0.005387 1083.333 6.833895 2.414610 5.895232 \n", "161 588 0.006205 1083.333 6.540537 2.772033 5.642168 \n", "162 559 0.006144 1069.352 6.359314 2.183563 5.485837 \n", "163 588 0.005447 1083.333 6.032295 2.381032 5.203735 \n", "164 559 0.005220 1069.352 5.569998 2.244073 4.804936 \n", "\n", "[165 rows x 31 columns], Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2021_05_13_1 -0.014722 6638 -0.004114 4151 -0.004143 4140 \n", "1 ASW_2021_05_13_2 -0.013557 6630 -0.003223 4209 -0.003271 4140 \n", "2 ASW_2021_05_13_3 -0.012140 6636 -0.002166 4153 -0.002128 4134 \n", "3 ASW_2021_05_13_4 -0.011840 6636 -0.001680 4153 -0.001689 4134 \n", "4 ASW_2021_05_13_5 -0.011791 6636 -0.001560 4153 -0.001565 4134 \n", ".. ... ... ... ... ... ... ... \n", "842 ASW_2021_05_13_843 0.007231 6638 0.010093 4149 0.009504 3951 \n", "843 ASW_2021_05_13_844 0.008622 6638 0.010998 4151 0.010368 3951 \n", "844 ASW_2021_05_13_845 0.009758 6638 0.011605 4151 0.010888 3942 \n", "845 ASW_2021_05_13_846 0.010426 6638 0.011803 4149 0.011117 3961 \n", "846 ASW_2021_05_13_847 0.011142 6638 0.011994 4149 0.011298 3942 \n", "\n", " min4 index4 min5 ... maxA0w maxBi maxB maxBw \\\n", "0 0.002053 2392 0.002395 ... 3268.321 2928 0.008403 2211.504 \n", "1 0.002862 2392 0.003149 ... 3268.321 2926 0.008431 2210.540 \n", "2 0.003635 2390 0.003998 ... 3259.160 2953 0.009904 2223.557 \n", "3 0.004012 2447 0.004475 ... 3258.196 2943 0.010262 2218.736 \n", "4 0.004190 2388 0.004680 ... 3258.196 2972 0.010508 2232.718 \n", ".. ... ... ... ... ... ... ... ... \n", "842 0.008941 2286 0.008657 ... 3230.233 2974 0.003747 2233.682 \n", "843 0.009187 2286 0.008756 ... 3233.125 2984 0.003207 2238.503 \n", "844 0.009167 2286 0.008658 ... 3235.054 2915 0.002778 2205.237 \n", "845 0.009026 2286 0.008403 ... 3182.021 2896 0.002373 2196.076 \n", "846 0.008909 2286 0.008190 ... 3172.860 2838 0.002158 2168.113 \n", "\n", " maxCi maxC maxCw Int_A Int_C Int_N_A \n", "0 1790 0.021825 1662.847 90.046648 6.326076 100.000000 \n", "1 1790 0.021791 1662.847 90.114214 6.358682 100.075035 \n", "2 1780 0.020271 1658.026 94.952295 6.967246 105.447896 \n", "3 1771 0.019722 1653.686 96.240967 7.115134 106.879012 \n", "4 1781 0.019706 1658.508 96.523813 7.165569 107.193123 \n", ".. ... ... ... ... ... ... \n", "842 1758 0.005088 1647.419 23.725832 1.953275 26.348379 \n", "843 1758 0.004406 1647.419 17.889279 1.792270 19.866680 \n", "844 1894 0.003936 1712.988 12.598864 1.622215 13.991486 \n", "845 1913 0.003616 1722.148 8.090795 1.501391 8.985115 \n", "846 1923 0.003434 1726.969 4.503201 1.384698 5.000965 \n", "\n", "[847 rows x 31 columns], Unnamed: 0 Name min1 index1 min2 index2 \\\n", "0 0 ASW_2021_05_24_1 -0.002640 6636 0.011161 4153 \n", "1 1 ASW_2021_05_24_2 -0.001645 6636 0.012008 4153 \n", "2 2 ASW_2021_05_24_3 -0.001016 6636 0.012534 4153 \n", "3 3 ASW_2021_05_24_4 0.000278 6636 0.014021 4151 \n", "4 4 ASW_2021_05_24_5 0.001221 6636 0.014551 4151 \n", ".. ... ... ... ... ... ... \n", "487 487 ASW_2021_05_24_488 0.015455 6636 0.012918 4555 \n", "488 488 ASW_2021_05_24_489 0.015946 6636 0.013282 4555 \n", "489 489 ASW_2021_05_24_490 0.016240 6636 0.013454 4563 \n", "490 490 ASW_2021_05_24_491 0.016592 6636 0.013727 4546 \n", "491 491 ASW_2021_05_24_492 0.017505 6636 0.014293 4555 \n", "\n", " min3 index3 min4 index4 ... maxAw scan_number maxBi \\\n", "0 0.010603 3942 0.011893 2392 ... 3267.356 1 2926 \n", "1 0.011458 3942 0.012649 2363 ... 3267.356 2 2926 \n", "2 0.012014 3942 0.013173 2344 ... 3268.321 3 2926 \n", "3 0.013516 3998 0.014016 2285 ... 3259.160 4 2936 \n", "4 0.014093 3978 0.014571 2344 ... 3258.196 5 2936 \n", ".. ... ... ... ... ... ... ... ... \n", "487 0.013973 4134 0.015475 2323 ... 3245.179 488 3241 \n", "488 0.014290 4134 0.015699 2323 ... 3245.179 489 3241 \n", "489 0.014445 4134 0.015793 2323 ... 3245.179 490 3241 \n", "490 0.014715 4134 0.016050 2342 ... 3245.179 491 3241 \n", "491 0.015249 4134 0.016378 2323 ... 3245.179 492 3244 \n", "\n", " maxB maxBw maxCi maxC maxCw Int_A Int_N_A \n", "0 0.009988 2210.540 2 0.072921 800.8085 95.599945 100.000000 \n", "1 0.009952 2210.540 2 0.072887 800.8085 95.721654 100.127310 \n", "2 0.010010 2210.540 2 0.073617 800.8085 95.891793 100.305280 \n", "3 0.010640 2215.361 8 0.077077 803.7012 99.648824 104.235231 \n", "4 0.010740 2215.361 8 0.078190 803.7012 100.622867 105.254105 \n", ".. ... ... ... ... ... ... ... \n", "487 0.020827 2362.409 2 0.058832 800.8085 7.858836 8.220544 \n", "488 0.020510 2362.409 2 0.060971 800.8085 7.890271 8.253426 \n", "489 0.020154 2362.409 2 0.062315 800.8085 7.835753 8.196399 \n", "490 0.019851 2362.409 2 0.063480 800.8085 7.833736 8.194289 \n", "491 0.019413 2363.855 2 0.070444 800.8085 7.880451 8.243154 \n", "\n", "[492 rows x 28 columns], Unnamed: 0 Name min1 index1 min2 index2 \\\n", "0 0 ASW_2021_07_13_1 -0.023247 6638 -0.016507 4321 \n", "1 1 ASW_2021_07_13_2 -0.024986 6638 -0.017637 4321 \n", "2 2 ASW_2021_07_13_3 -0.025060 6638 -0.017461 4311 \n", "3 3 ASW_2021_07_13_4 -0.024484 6638 -0.016808 4323 \n", "4 4 ASW_2021_07_13_5 -0.023746 6638 -0.016474 4325 \n", "5 5 ASW_2021_07_13_6 -0.023772 6638 -0.016451 4333 \n", "6 6 ASW_2021_07_13_7 -0.025788 6638 -0.017365 4246 \n", "7 7 ASW_2021_07_13_8 -0.027713 6638 -0.018953 4196 \n", "8 8 ASW_2021_07_13_9 -0.028306 6638 -0.019867 4227 \n", "9 9 ASW_2021_07_13_10 -0.028047 6638 -0.019582 4198 \n", "10 10 ASW_2021_07_13_11 -0.027592 6638 -0.019192 4198 \n", "11 11 ASW_2021_07_13_12 -0.027410 6638 -0.019096 4227 \n", "12 12 ASW_2021_07_13_13 -0.027203 6638 -0.018973 4227 \n", "13 13 ASW_2021_07_13_14 -0.026585 6638 -0.018483 4198 \n", "14 14 ASW_2021_07_13_15 -0.025243 6638 -0.017489 4179 \n", "15 15 ASW_2021_07_13_16 -0.021303 6638 -0.013459 4227 \n", "16 16 ASW_2021_07_13_17 -0.020471 6638 -0.012965 4227 \n", "17 17 ASW_2021_07_13_18 -0.019999 6638 -0.012605 4227 \n", "18 18 ASW_2021_07_13_19 -0.019634 6638 -0.012372 4198 \n", "19 19 ASW_2021_07_13_20 -0.017090 6638 -0.011731 4179 \n", "20 20 ASW_2021_07_13_21 -0.017998 6638 -0.012285 4198 \n", "21 21 ASW_2021_07_13_22 -0.018664 6638 -0.012685 4198 \n", "22 22 ASW_2021_07_13_23 -0.019310 6638 -0.013218 4198 \n", "23 23 ASW_2021_07_13_24 -0.020400 6638 -0.014330 4198 \n", "24 24 ASW_2021_07_13_25 -0.020810 6638 -0.014576 4198 \n", "25 25 ASW_2021_07_13_26 -0.020218 6638 -0.016644 4390 \n", "\n", " min3 index3 min4 index4 ... maxAw scan_number maxBi \\\n", "0 -0.015874 4148 -0.003954 2416 ... 3271.213 1 2931 \n", "1 -0.017018 4148 -0.004779 2464 ... 3274.106 2 2931 \n", "2 -0.016754 4148 -0.004488 2464 ... 3274.106 3 2931 \n", "3 -0.015983 4141 -0.003471 2464 ... 3261.089 4 2960 \n", "4 -0.015621 4141 -0.003115 2445 ... 3256.750 5 2960 \n", "5 -0.015600 4141 -0.003059 2445 ... 3256.750 6 2960 \n", "6 -0.016911 4148 -0.003640 2474 ... 3255.785 7 2960 \n", "7 -0.018817 4148 -0.005100 2436 ... 3250.964 8 2969 \n", "8 -0.019682 4129 -0.005615 2466 ... 3244.697 9 2979 \n", "9 -0.019390 4148 -0.005116 2466 ... 3241.804 10 2979 \n", "10 -0.018974 4129 -0.004603 2476 ... 3238.911 11 2979 \n", "11 -0.018885 4148 -0.004401 2485 ... 3237.947 12 2979 \n", "12 -0.018723 4148 -0.004244 2476 ... 3236.983 13 2979 \n", "13 -0.018245 4148 -0.003778 2485 ... 3236.018 14 2979 \n", "14 -0.017222 4148 -0.002918 2466 ... 3233.608 15 2979 \n", "15 -0.013217 4148 0.001125 2466 ... 3233.608 16 2979 \n", "16 -0.012714 4148 0.001476 2485 ... 3232.644 17 2979 \n", "17 -0.012382 4148 0.001704 2466 ... 3232.644 18 2979 \n", "18 -0.012103 4148 0.001858 2466 ... 3231.679 19 2998 \n", "19 -0.011503 4148 0.002747 2466 ... 3224.929 20 2998 \n", "20 -0.012054 4148 0.002371 2485 ... 3224.929 21 2998 \n", "21 -0.012469 4148 0.002138 2466 ... 3224.929 22 2998 \n", "22 -0.012967 4148 0.001726 2476 ... 3224.929 23 3236 \n", "23 -0.014095 4148 0.000553 2476 ... 3224.929 24 3236 \n", "24 -0.014322 4148 0.000491 2476 ... 3224.929 25 3236 \n", "25 -0.014663 4148 0.000497 2474 ... 3211.912 26 3236 \n", "\n", " maxB maxBw maxCi maxC maxCw Int_A Int_N_A \n", "0 0.010150 2212.950 1 0.063002 800.3264 102.978270 100.000000 \n", "1 0.009962 2212.950 1 0.063354 800.3264 103.109427 100.127364 \n", "2 0.010023 2212.950 1 0.064041 800.3264 103.321193 100.333006 \n", "3 0.011388 2226.932 6 0.070443 802.7370 110.353134 107.161574 \n", "4 0.011925 2226.932 5 0.073464 802.2549 111.998335 108.759193 \n", "5 0.012024 2226.932 6 0.074375 802.7370 112.343960 109.094822 \n", "6 0.011853 2226.932 6 0.074133 802.7370 114.658673 111.342590 \n", "7 0.012560 2231.271 8 0.076707 803.7012 116.219512 112.858288 \n", "8 0.012491 2236.093 8 0.077200 803.7012 116.285704 112.922566 \n", "9 0.012425 2236.093 8 0.076597 803.7012 115.741609 112.394207 \n", "10 0.012335 2236.093 8 0.077850 803.7012 115.030556 111.703718 \n", "11 0.012174 2236.093 8 0.078411 803.7012 114.121406 110.820862 \n", "12 0.012126 2236.093 8 0.077994 803.7012 113.180598 109.907264 \n", "13 0.011935 2236.093 8 0.077645 803.7012 112.192297 108.947546 \n", "14 0.012013 2236.093 8 0.077545 803.7012 111.215388 107.998890 \n", "15 0.011903 2236.093 8 0.085764 803.7012 110.193054 107.006123 \n", "16 0.011663 2236.093 8 0.087491 803.7012 109.234792 106.075576 \n", "17 0.011675 2236.093 8 0.087453 803.7012 108.374365 105.240033 \n", "18 0.011615 2245.253 8 0.086546 803.7012 107.784448 104.667177 \n", "19 0.011730 2245.253 8 0.091422 803.7012 109.120932 105.965009 \n", "20 0.011549 2245.253 8 0.091772 803.7012 108.956293 105.805131 \n", "21 0.011747 2245.253 8 0.091667 803.7012 108.758884 105.613431 \n", "22 0.311595 2359.999 8 0.094514 803.7012 109.178866 106.021267 \n", "23 0.621625 2359.999 8 0.097058 803.7012 110.082086 106.898365 \n", "24 0.662658 2359.999 8 0.098187 803.7012 110.049914 106.867123 \n", "25 0.691713 2359.999 1 0.099738 800.3264 113.285420 110.009054 \n", "\n", "[26 rows x 28 columns]]\n" ] } ], "source": [ "All_data_frame = []\n", "\n", "for items in data_anex:\n", "\n", " df = pd.read_csv(items)\n", " #print(df)\n", " #df_1 = df.T.iloc[1:].T\n", " \n", " All_data_frame.append(df) \n", " \n", "print(All_data_frame)\n", " \n", " #del df\n", " #del df_1\n", " \n", "data_anex_full = pd.concat(All_data_frame)\n", " \n", " " ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Namemin1index1min2index2min3index3min4index4min5...maxBimaxBmaxBwmaxCimaxCmaxCwInt_AInt_CInt_N_AUnnamed: 0
0ASW_2020_09_15_1-0.0172936630-0.0094764293-0.00915141470.00120324820.001967...29360.0084222215.36117770.0222211656.579096.2920036.703636100.000000NaN
1ASW_2020_09_15_2-0.0174896636-0.0089954161-0.00900141320.00243024800.003482...29760.0120622234.64617540.0216621645.4900111.4701947.622334115.762670NaN
2ASW_2020_09_15_3-0.0178496636-0.0097154151-0.00966441320.00159524630.003063...29740.0123312233.68216910.0212261615.1160112.3590148.424437116.685717NaN
3ASW_2020_09_15_4-0.0069716630-0.0042984149-0.00422241200.00222024730.002968...29760.0068842234.64615740.0130231558.708053.7008674.01056555.768771NaN
0ASW_2020_09_16_1-0.0188446636-0.0084644235-0.0083694139-0.0014182403-0.000786...29450.0092842219.70017730.0235571654.651095.9130796.952239100.000000NaN
..................................................................
21ASW_2021_07_13_22-0.0186646638-0.0126854198-0.01246941480.00213824660.004063...29980.0117472245.25380.091667803.7012108.758884NaN105.61343121.0
22ASW_2021_07_13_23-0.0193106638-0.0132184198-0.01296741480.00172624760.003659...32360.3115952359.99980.094514803.7012109.178866NaN106.02126722.0
23ASW_2021_07_13_24-0.0204006638-0.0143304198-0.01409541480.00055324760.002548...32360.6216252359.99980.097058803.7012110.082086NaN106.89836523.0
24ASW_2021_07_13_25-0.0208106638-0.0145764198-0.01432241480.00049124760.002494...32360.6626582359.99980.098187803.7012110.049914NaN106.86712324.0
25ASW_2021_07_13_26-0.0202186638-0.0166444390-0.01466341480.00049724740.003447...32360.6917132359.99910.099738800.3264113.285420NaN110.00905425.0
\n", "

2017 rows × 32 columns

\n", "
" ], "text/plain": [ " Name min1 index1 min2 index2 min3 index3 \\\n", "0 ASW_2020_09_15_1 -0.017293 6630 -0.009476 4293 -0.009151 4147 \n", "1 ASW_2020_09_15_2 -0.017489 6636 -0.008995 4161 -0.009001 4132 \n", "2 ASW_2020_09_15_3 -0.017849 6636 -0.009715 4151 -0.009664 4132 \n", "3 ASW_2020_09_15_4 -0.006971 6630 -0.004298 4149 -0.004222 4120 \n", "0 ASW_2020_09_16_1 -0.018844 6636 -0.008464 4235 -0.008369 4139 \n", ".. ... ... ... ... ... ... ... \n", "21 ASW_2021_07_13_22 -0.018664 6638 -0.012685 4198 -0.012469 4148 \n", "22 ASW_2021_07_13_23 -0.019310 6638 -0.013218 4198 -0.012967 4148 \n", "23 ASW_2021_07_13_24 -0.020400 6638 -0.014330 4198 -0.014095 4148 \n", "24 ASW_2021_07_13_25 -0.020810 6638 -0.014576 4198 -0.014322 4148 \n", "25 ASW_2021_07_13_26 -0.020218 6638 -0.016644 4390 -0.014663 4148 \n", "\n", " min4 index4 min5 ... maxBi maxB maxBw maxCi \\\n", "0 0.001203 2482 0.001967 ... 2936 0.008422 2215.361 1777 \n", "1 0.002430 2480 0.003482 ... 2976 0.012062 2234.646 1754 \n", "2 0.001595 2463 0.003063 ... 2974 0.012331 2233.682 1691 \n", "3 0.002220 2473 0.002968 ... 2976 0.006884 2234.646 1574 \n", "0 -0.001418 2403 -0.000786 ... 2945 0.009284 2219.700 1773 \n", ".. ... ... ... ... ... ... ... ... \n", "21 0.002138 2466 0.004063 ... 2998 0.011747 2245.253 8 \n", "22 0.001726 2476 0.003659 ... 3236 0.311595 2359.999 8 \n", "23 0.000553 2476 0.002548 ... 3236 0.621625 2359.999 8 \n", "24 0.000491 2476 0.002494 ... 3236 0.662658 2359.999 8 \n", "25 0.000497 2474 0.003447 ... 3236 0.691713 2359.999 1 \n", "\n", " maxC maxCw Int_A Int_C Int_N_A Unnamed: 0 \n", "0 0.022221 1656.5790 96.292003 6.703636 100.000000 NaN \n", "1 0.021662 1645.4900 111.470194 7.622334 115.762670 NaN \n", "2 0.021226 1615.1160 112.359014 8.424437 116.685717 NaN \n", "3 0.013023 1558.7080 53.700867 4.010565 55.768771 NaN \n", "0 0.023557 1654.6510 95.913079 6.952239 100.000000 NaN \n", ".. ... ... ... ... ... ... \n", "21 0.091667 803.7012 108.758884 NaN 105.613431 21.0 \n", "22 0.094514 803.7012 109.178866 NaN 106.021267 22.0 \n", "23 0.097058 803.7012 110.082086 NaN 106.898365 23.0 \n", "24 0.098187 803.7012 110.049914 NaN 106.867123 24.0 \n", "25 0.099738 800.3264 113.285420 NaN 110.009054 25.0 \n", "\n", "[2017 rows x 32 columns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_anex_full" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "data_anex_full.to_csv('..\\DATA\\DATA-Processing\\PAC\\Data_Annex_full.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 2 Scans selection (Temperature - isotherms)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using I python widget\n", "\n", "[I python widget list](https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20List.html)\n", "\n", "[Widgets layout](https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20Styling.html)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.1 Parameter list" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "Temp = XP_Ramp_df_I.columns[1:].values.tolist()\n", "Date = XP_Ramp_df_I.index.values.tolist()\n", "Sample = XP_Ramp_df_I['Sample'].values.tolist() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.2 Widget selection" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "the purpose of the widget is to select the data we want to plot using widget\n", "- create list\n", "\n", "Document:\n", "\n", "[I python widget list](https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20List.html)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "39ab46b1a5934faa80a17fc3aebcb07d", "version_major": 2, "version_minor": 0 }, "text/plain": [ "SelectMultiple(description='Temperature:', options=('20K ', '25K', '30K', '40K', '50K', '55K', '60K', '65K', '…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1d846a15d1414b06aafc7286ecebecfd", "version_major": 2, "version_minor": 0 }, "text/plain": [ "SelectMultiple(description='Date', options=('2020_09_15', '2020_09_16', '2020_09_17', '2020_09_21', '2020_09_2…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "73ffb829d16741b49d4e7d30c789fcaa", "version_major": 2, "version_minor": 0 }, "text/plain": [ "SelectMultiple(description='Sample', options=('ASW', 'ASW', 'ASW', 'ASW', 'ASW', 'ASW', 'ASW', 'ASW', 'ASW', '…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Create Dropdown Box Widget\n", "wT = widgets.SelectMultiple(\n", " options= Temp,\n", " description='Temperature:',\n", " disabled=False,\n", ")\n", "\n", "wD = widgets.SelectMultiple(\n", " options= Date,\n", " description='Date',\n", " disabled=False,\n", ")\n", "\n", "wS = widgets.SelectMultiple(\n", " options= Sample,\n", " description='Sample',\n", " disabled=False,\n", ")\n", "\n", "widgets.HBox([wS,wD, wT])\n", "\n", "\n", "\n", "display(wT,wD,wS)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "wT_L = list(wT.value)\n", "wD_L = list(wD.value)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sanity Check" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "wT_L" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['2020_09_15', '2020_09_16', '2020_09_17']" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wD_L" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## sample neme construction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "use list value to extract scan number and produce file name" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "insert condition to supress first scan (ramp)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "#date = ['2020_09_16','2020_09_17']\n", "#temp = ['60K','80K']\n", "#spl = 'ASW'\n", "\n", "z = []\n", "value_1 = []\n", "\n", "for x in wD_L:\n", " for y in wT_L:\n", "\n", " value = XP_Ramp_df_I.loc[XP_Ramp_df_I.index == x, y].values[0]\n", " value_1 = re.findall(r\"[-+]?\\d*\\.\\d+|\\d+\", value)\n", " \n", " for items in value_1:\n", " \n", " to_plot = str('{}_{}_{}'.format(spl, x, items))\n", " z.append({\n", " \n", " 'Name' : str(to_plot),\n", " 'Temp' : y,\n", " 'Date' : x, \n", " \n", " \n", " \n", " })\n", " " ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'Name': 'ASW_2020_09_15_1', 'Temp': '20K ', 'Date': '2020_09_15'},\n", " {'Name': 'ASW_2020_09_16_1', 'Temp': '20K ', 'Date': '2020_09_16'},\n", " {'Name': 'ASW_2020_09_16_2', 'Temp': '20K ', 'Date': '2020_09_16'},\n", " {'Name': 'ASW_2020_09_17_1', 'Temp': '20K ', 'Date': '2020_09_17'},\n", " {'Name': 'ASW_2020_09_17_2', 'Temp': '20K ', 'Date': '2020_09_17'}]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "z" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "dat= pd.DataFrame(z)\n", "data_df = dat.set_index('Name')" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TempDate
Name
ASW_2020_09_15_120K2020_09_15
ASW_2020_09_16_120K2020_09_16
ASW_2020_09_16_220K2020_09_16
ASW_2020_09_17_120K2020_09_17
ASW_2020_09_17_220K2020_09_17
\n", "
" ], "text/plain": [ " Temp Date\n", "Name \n", "ASW_2020_09_15_1 20K 2020_09_15\n", "ASW_2020_09_16_1 20K 2020_09_16\n", "ASW_2020_09_16_2 20K 2020_09_16\n", "ASW_2020_09_17_1 20K 2020_09_17\n", "ASW_2020_09_17_2 20K 2020_09_17" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1.4 Plot pre-formating" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Temperature" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Find a way to have a specific c=cmjet when we want to plot long isotherm data." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "def Temp_color(row):\n", " if row['Temp'] == '20K ':\n", " return int(1)\n", " if row['Temp'] == '30K ':\n", " return int(2) \n", " elif row['Temp'] == '40K':\n", " return int(3)\n", " elif row['Temp'] == '50K':\n", " return int(4)\n", " elif row['Temp'] == '60K':\n", " return int(5)\n", " elif row['Temp'] == '70K':\n", " return int(6)\n", " elif row['Temp'] == '80K':\n", " return int(7)\n", " elif row['Temp'] == '90K':\n", " return int(8)\n", " elif row['Temp'] == '100K':\n", " return int(9)\n", " elif row['Temp'] == '110K':\n", " return int(10)\n", " elif row['Temp'] == '120K':\n", " return int(11)\n", " elif row['Temp'] == '125K':\n", " return int(12)\n", " elif row['Temp'] == '130K':\n", " return int(13)\n", " elif row['Temp'] == '132K':\n", " return int(14)\n", " elif row['Temp'] == '134K':\n", " return int(15)\n", " elif row['Temp'] == '135K':\n", " return int(16)\n", " elif row['Temp'] == '136K':\n", " return int(17)\n", " elif row['Temp'] == '137K':\n", " return int(18)\n", " elif row['Temp'] == '138K':\n", " return int(19)\n", " elif row['Temp'] == '140K':\n", " return int(20)\n", " elif row['Temp'] == '145K':\n", " return int(21)\n", " elif row['Temp'] == '150K':\n", " return int(21)\n", " elif row['Temp'] == '155K':\n", " return int(22)\n", " elif row['Temp'] == '160K':\n", " return int(23)\n", " elif row['Temp'] == '180K':\n", " return int(24)\n", " elif row['Temp'] == '200K':\n", " return int(25)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "data_df['Colour'] = data_df.apply (lambda row: Temp_color(row), axis=1)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TempDateColour
Name
ASW_2020_09_15_120K2020_09_151
ASW_2020_09_16_120K2020_09_161
ASW_2020_09_16_220K2020_09_161
ASW_2020_09_17_120K2020_09_171
ASW_2020_09_17_220K2020_09_171
\n", "
" ], "text/plain": [ " Temp Date Colour\n", "Name \n", "ASW_2020_09_15_1 20K 2020_09_15 1\n", "ASW_2020_09_16_1 20K 2020_09_16 1\n", "ASW_2020_09_16_2 20K 2020_09_16 1\n", "ASW_2020_09_17_1 20K 2020_09_17 1\n", "ASW_2020_09_17_2 20K 2020_09_17 1" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_df" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dates" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "linestyle = ['-',':','--']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "6 sample max" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "LD = dict(zip(wD_L, linestyle))" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'2020_09_15': '-', '2020_09_16': ':', '2020_09_17': '--'}" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "LD " ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "data_df['linestyle'] = data_df['Date'].map(LD)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TempDateColourlinestyle
Name
ASW_2020_09_15_120K2020_09_151-
ASW_2020_09_16_120K2020_09_161:
ASW_2020_09_16_220K2020_09_161:
ASW_2020_09_17_120K2020_09_171--
ASW_2020_09_17_220K2020_09_171--
\n", "
" ], "text/plain": [ " Temp Date Colour linestyle\n", "Name \n", "ASW_2020_09_15_1 20K 2020_09_15 1 -\n", "ASW_2020_09_16_1 20K 2020_09_16 1 :\n", "ASW_2020_09_16_2 20K 2020_09_16 1 :\n", "ASW_2020_09_17_1 20K 2020_09_17 1 --\n", "ASW_2020_09_17_2 20K 2020_09_17 1 --" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Cycler methodology](https://matplotlib.org/stable/tutorials/intermediate/color_cycle.html#sphx-glr-tutorials-intermediate-color-cycle-py)\n", "\n", "For plotting\n", "\n", "[Seaborn library](https://seaborn.pydata.org/)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Could try Class attribute" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What do we want to do:\n", "\n", "\n", "Vocabulary:\n", "- Method = function associated with a class\n", "- Attributes = \n", "\n", "Class XP_Param is a blueprint to construct a list of sample that we want to plot based on the parameters enters with the widget.\n", "\n", "One function should find within XP_Ramp_df_I the scan numbers associated with a peculiar date and temperature.\n", "A second function should build a string with the format spl_date_scan number and append it into a list\n", "\n", "differences between instance variables and class variables ?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Plotting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Purpose here is to plot from DR2_all scan the scan present in dat using Temp and date in the legend and use the groupping for formatting\n", "\n", "Find way to implement label with respect to dataframe value (input for color ?)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3 different DR" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 ASW_2020_09_15_1\n", "1 ASW_2020_09_16_1\n", "2 ASW_2020_09_16_2\n", "3 ASW_2020_09_17_1\n", "4 ASW_2020_09_17_2\n", "Name: Name, dtype: object\n" ] } ], "source": [ "print(dat['Name'])" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "nscan = len(list(data_df['Date'].values.tolist()))\n", "\n", "print(nscan)\n", "\n", "fig, ax= plt.subplots(figsize=(10,10))\n", "\n", "#colors = sns.color_palette(\"coolwarm\", data_df.Temp.nunique())\n", "#ax.set_prop_cycle('color', colors)\n", "\n", "#ax.set_prop_cycle(color =['b', 'g'])\n", "#cc = (cycler(linestyle=['-', '--', '-.', ]))\n", "\n", "for i in dat['Name']:\n", " \n", "#DR2\n", " \n", " #x = DR2_Allscans_full.Wavenumber\n", " #y = DR2_Allscans_full['{}'.format(i)]\n", "\n", "#`DR3\n", "\n", " x = DR3_Allscans_full.Wavenumber\n", " y = DR3_Allscans_full['{}'.format(i)]\n", " \n", " plt.plot(x,y, label=\"{}_{}\".format(str(data_df.loc[i]['Date']), str(data_df.loc[i]['Temp'])), c=cm.jet(int(data_df.loc[i]['Colour'])/25), linestyle=(data_df.loc[i]['linestyle'])) \n", "\n", "\n", "#plt.title('{0} DR1 '.format(date))\n", "plt.axis([3800,2800,0,0.45])\n", "plt.xlabel('Wavenumber (cm-1)').set_fontsize(13)\n", "plt.ylabel('Absorbance').set_fontsize(13)\n", "#ax = fig.gca()\n", "plt.grid()\n", "plt.legend()\n", "\n", "\n", "#plt.savefig('D:\\PhD-WS\\Projects\\PAC\\XP_1-1\\DATA\\{0}\\Plots\\DR1\\DR1_{0}_All_scans.png'.format(date))\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Max Absorbance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Import code from DR" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Other plotting" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ab4bd5b237e1407995818fb53ec35e4c", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(Dropdown(description='a', options=('Variable X', 'Variable Y', 'Variable Z'), value='Var…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# imports\n", "%matplotlib inline\n", "\n", "from ipywidgets import interactive\n", "import pandas as pd\n", "import numpy as np\n", "# from jupyterthemes import jtplot\n", "\n", "# Sample data\n", "np.random.seed(123)\n", "rows = 50\n", "dfx = pd.DataFrame(np.random.randint(90,110,size=(rows, 1)), columns=['Variable X'])\n", "dfy = pd.DataFrame(np.random.randint(25,68,size=(rows, 1)), columns=['Variable Y'])\n", "dfz = pd.DataFrame(np.random.randint(60,70,size=(rows, 1)), columns=['Variable Z'])\n", "\n", "df = pd.concat([dfx,dfy,dfz], axis = 1)\n", "#jtplot.style()\n", "\n", "import ipywidgets as widgets\n", "from IPython.display import display\n", "\n", "def multiplot(a):\n", " opts = df.columns.values\n", " df.loc[:, a].plot()\n", "\n", "interactive_plot = interactive(multiplot, a=['Variable X', 'Variable Y', 'Variable Z'])\n", "output = interactive_plot.children[-1]\n", "output.layout.height = '350px'\n", "interactive_plot" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create class with widget input as variable " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Embed Naming function\n", "\n", "[Youtube tutorial on classes](https://www.youtube.com/watch?v=ZDa-Z5JzLYM)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "class XP_Param:\n", " \n", " def found(self):\n", " print(\"input is\" + self.column + self.row )\n", " return XP_Ramp_df_I.loc[self.row,self.column]\n", " \n", "\n", " " ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "T1 = XP_Param()\n", "T1.column = \"60K\"\n", "T1.row = \"2020_09_21\"\n" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "input is60K2020_09_21\n" ] }, { "data": { "text/plain": [ "'[6, 7, 8]'" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "T1.found()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Name the desired sample" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Purpose here is to create a function that create sample name based on previously selected parameters (date / Temperature)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Documentation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Interact function](https://ipywidgets.readthedocs.io/en/latest/examples/Using%20Interact.html#interactive)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "output_Date = wD.value" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "# Define any function\n", "def file_name(output_Date):\n", " return print(output_Date) \n", " \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting strategy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Plotting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data from Data_Annex " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data from DR2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interactive Plotting" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[I python widget list](https://kapernikov.com/ipywidgets-with-matplotlib/)\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "c118fd6f097b4547b8461e08f07cced8", "version_major": 2, "version_minor": 0 }, "text/plain": [ "IntSlider(value=1, continuous_update=False, description='$\\\\omega$', max=10)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = numpy.linspace(0, 2 * numpy.pi, 100)\n", " \n", "fig, ax = plt.subplots()\n", "line, = ax.plot(x, numpy.sin(x))\n", "ax.grid(True)\n", " \n", "def update(change):\n", " line.set_ydata(numpy.sin(change.new * x))\n", " fig.canvas.draw()\n", " \n", "\n", "int_slider = widgets.IntSlider(\n", " value=1, \n", " min=0, max=10, step=1,\n", " description='$\\omega$',\n", " continuous_update=False\n", ")\n", "int_slider.observe(update, 'value')\n", "int_slider" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## wx GUI creation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import wx" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [], "source": [ "# Création d'un nouveau cadre, dérivé du wxPython 'Frame'.\n", "class TestFrame(wx.Frame):\n", " def __init__(self, parent, ID, title):\n", " wx.Frame.__init__(self, parent, -1, title, pos=(0, 0), size=(500, 200))\n", "\n", " # À l'intérieur du cadre, créer un panneau..\n", " panel = wx.Panel(self, -1)\n", "\n", " # Créer un texte dans le panneau\n", " texte = wx.StaticText(panel, -1, \"Bonjour tout le monde!\", wx.Point(10, 5), wx.Size(-1, -1))\n", " \n", " # Créer un bouton dans le panneau\n", " bouton = wx.Button(panel, -1, \"Cliquez-moi!\", wx.Point(10, 35), wx.Size(-1, -1))\n", " # lier le bouton à une fonction:\n", " self.Bind(wx.EVT_BUTTON, self.creerDiag, bouton)\n", " \n", " # fonction qui affiche une boîte de dialogue\n", " def creerDiag(self, event):\n", " dlg = wx.MessageDialog(self, \"Merci de m'avoir cliqué, ça fait du bien.\",\n", " \"Merci!\", wx.ICON_EXCLAMATION | wx.YES_NO | wx.CANCEL)\n", " dlg.ShowModal()\n", " dlg.Destroy()\n", " \n", "\n", "# Chaque application wxWidgets doit avoir une classe dérivée de wx.App\n", "class TestApp(wx.App):\n", " def OnInit(self):\n", " frame = TestFrame(None, -1, \"Test\")\n", " self.SetTopWindow(frame)\n", " frame.Show(True)\n", " return True\n", "\n", "if __name__ == '__main__':\n", " app = TestApp(0) # créer une nouvelle instance de l'application\n", " app.MainLoop() # lancer l'application" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "ename": "PyNoAppError", "evalue": "The wx.App object must be created first!", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mPyNoAppError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mapp\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mwx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mApp\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mframe\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mwx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mFrame\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtitle\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'Simple application'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[0mframe\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mShow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mPyNoAppError\u001b[0m: The wx.App object must be created first!" ] } ], "source": [ "app = wx.App()\n", "\n", "frame = wx.Frame(None, title='Simple application')\n", "frame.Show()\n", "\n", "app.MainLoop()" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ":39: wxPyDeprecationWarning: Call to deprecated item. Use Append instead.\n", " fileMenu.AppendMenu(wx.ID_ANY, 'I&mport', imp)\n", ":42: wxPyDeprecationWarning: Call to deprecated item. Use Append instead.\n", " fileMenu.AppendItem(qmi)\n" ] } ], "source": [ "#!/usr/bin/env python\n", "\n", "\"\"\"\n", "ZetCode wxPython tutorial\n", "\n", "In this example, we create a submenu and a menu\n", "separator.\n", "\n", "author: Jan Bodnar\n", "website: www.zetcode.com\n", "last modified: July 2020\n", "\"\"\"\n", "\n", "import wx\n", "\n", "\n", "class Example(wx.Frame):\n", "\n", " def __init__(self, *args, **kwargs):\n", " super(Example, self).__init__(*args, **kwargs)\n", "\n", " self.InitUI()\n", "\n", " def InitUI(self):\n", "\n", " menubar = wx.MenuBar()\n", "\n", " fileMenu = wx.Menu()\n", " fileMenu.Append(wx.ID_NEW, '&New')\n", " fileMenu.Append(wx.ID_OPEN, '&Open')\n", " fileMenu.Append(wx.ID_SAVE, '&Save')\n", " fileMenu.AppendSeparator()\n", "\n", " imp = wx.Menu()\n", " imp.Append(wx.ID_ANY, 'Import newsfeed list...')\n", " imp.Append(wx.ID_ANY, 'Import bookmarks...')\n", " imp.Append(wx.ID_ANY, 'Import mail...')\n", "\n", " fileMenu.AppendMenu(wx.ID_ANY, 'I&mport', imp)\n", "\n", " qmi = wx.MenuItem(fileMenu, wx.ID_EXIT, '&Quit\\tCtrl+W')\n", " fileMenu.AppendItem(qmi)\n", "\n", " self.Bind(wx.EVT_MENU, self.OnQuit, qmi)\n", "\n", " menubar.Append(fileMenu, '&File')\n", " self.SetMenuBar(menubar)\n", "\n", " self.SetSize((900, 600))\n", " self.SetTitle('Data Analysis Plotting GUI')\n", " self.Centre()\n", "\n", " def OnQuit(self, e):\n", " self.Close()\n", "\n", "\n", "def main():\n", "\n", " app = wx.App()\n", " ex = Example(None)\n", " ex.Show()\n", " app.MainLoop()\n", "\n", "\n", "if __name__ == '__main__':\n", " main()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#!/usr/bin/env python\n", "\n", "\n", "\"\"\"\n", "ZetCode wxPython tutorial\n", "\n", "In this example we create a Go To class\n", "layout with wx.BoxSizer.\n", "\n", "author: Jan Bodnar\n", "website: www.zetcode.com\n", "last modified: July 2020\n", "\"\"\"\n", "\n", "import wx\n", "\n", "class Example(wx.Frame):\n", "\n", " def __init__(self, parent, title):\n", " super(Example, self).__init__(parent, title=title)\n", "\n", " self.InitUI()\n", " self.Centre()\n", "\n", " def InitUI(self):\n", "\n", " panel = wx.Panel(self)\n", "\n", " font = wx.SystemSettings.GetFont(wx.SYS_SYSTEM_FONT)\n", "\n", " font.SetPointSize(9)\n", "\n", " vbox = wx.BoxSizer(wx.VERTICAL)\n", "\n", " hbox1 = wx.BoxSizer(wx.HORIZONTAL)\n", " st1 = wx.StaticText(panel, label='Class Name')\n", " st1.SetFont(font)\n", " hbox1.Add(st1, flag=wx.RIGHT, border=8)\n", " tc = wx.TextCtrl(panel)\n", " hbox1.Add(tc, proportion=1)\n", " vbox.Add(hbox1, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10)\n", "\n", " vbox.Add((-1, 10))\n", "\n", " hbox2 = wx.BoxSizer(wx.HORIZONTAL)\n", " st2 = wx.StaticText(panel, label='Matching Classes')\n", " st2.SetFont(font)\n", " hbox2.Add(st2)\n", " vbox.Add(hbox2, flag=wx.LEFT | wx.TOP, border=10)\n", "\n", " vbox.Add((-1, 10))\n", "\n", " hbox3 = wx.BoxSizer(wx.HORIZONTAL)\n", " tc2 = wx.TextCtrl(panel, style=wx.TE_MULTILINE)\n", " hbox3.Add(tc2, proportion=1, flag=wx.EXPAND)\n", " vbox.Add(hbox3, proportion=1, flag=wx.LEFT|wx.RIGHT|wx.EXPAND,\n", " border=10)\n", "\n", " vbox.Add((-1, 25))\n", "\n", " hbox4 = wx.BoxSizer(wx.HORIZONTAL)\n", " cb1 = wx.CheckBox(panel, label='Case Sensitive')\n", " cb1.SetFont(font)\n", " hbox4.Add(cb1)\n", " cb2 = wx.CheckBox(panel, label='Nested Classes')\n", " cb2.SetFont(font)\n", " hbox4.Add(cb2, flag=wx.LEFT, border=10)\n", " cb3 = wx.CheckBox(panel, label='Non-Project classes')\n", " cb3.SetFont(font)\n", " hbox4.Add(cb3, flag=wx.LEFT, border=10)\n", " vbox.Add(hbox4, flag=wx.LEFT, border=10)\n", "\n", " vbox.Add((-1, 25))\n", "\n", " hbox5 = wx.BoxSizer(wx.HORIZONTAL)\n", " btn1 = wx.Button(panel, label='Ok', size=(70, 30))\n", " hbox5.Add(btn1)\n", " btn2 = wx.Button(panel, label='Close', size=(70, 30))\n", " hbox5.Add(btn2, flag=wx.LEFT|wx.BOTTOM, border=5)\n", " vbox.Add(hbox5, flag=wx.ALIGN_RIGHT|wx.RIGHT, border=10)\n", "\n", " panel.SetSizer(vbox)\n", "\n", "\n", "def main():\n", "\n", " app = wx.App()\n", " ex = Example(None, title='Go To Class')\n", " ex.Show()\n", " app.MainLoop()\n", "\n", "\n", "if __name__ == '__main__':\n", " main()" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'watermark'", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mget_ipython\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun_line_magic\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'load_ext'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'watermark'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\u001b[0m in \u001b[0;36mrun_line_magic\u001b[1;34m(self, magic_name, line, _stack_depth)\u001b[0m\n\u001b[0;32m 2324\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'local_ns'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msys\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_getframe\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstack_depth\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mf_locals\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2325\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbuiltin_trap\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2326\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2327\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2328\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m\u001b[0m in \u001b[0;36mload_ext\u001b[1;34m(self, module_str)\u001b[0m\n", "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\IPython\\core\\magic.py\u001b[0m in \u001b[0;36m\u001b[1;34m(f, *a, **k)\u001b[0m\n\u001b[0;32m 185\u001b[0m \u001b[1;31m# but it's overkill for just that one bit of state.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 186\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mmagic_deco\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 187\u001b[1;33m \u001b[0mcall\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mlambda\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 188\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 189\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mcallable\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\IPython\\core\\magics\\extension.py\u001b[0m in \u001b[0;36mload_ext\u001b[1;34m(self, module_str)\u001b[0m\n\u001b[0;32m 31\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mmodule_str\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 32\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mUsageError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Missing module name.'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 33\u001b[1;33m \u001b[0mres\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshell\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mextension_manager\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mload_extension\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmodule_str\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 34\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 35\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'already loaded'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\IPython\\core\\extensions.py\u001b[0m in \u001b[0;36mload_extension\u001b[1;34m(self, module_str)\u001b[0m\n\u001b[0;32m 78\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mmodule_str\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32min\u001b[0m \u001b[0msys\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodules\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 79\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mprepended_to_syspath\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mipython_extension_dir\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 80\u001b[1;33m \u001b[0mmod\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mimport_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmodule_str\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 81\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__file__\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstartswith\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mipython_extension_dir\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 82\u001b[0m print((\"Loading extensions from {dir} is deprecated. \"\n", "\u001b[1;32m~\\Anaconda3\\lib\\importlib\\__init__.py\u001b[0m in \u001b[0;36mimport_module\u001b[1;34m(name, package)\u001b[0m\n\u001b[0;32m 125\u001b[0m \u001b[1;32mbreak\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 126\u001b[0m \u001b[0mlevel\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 127\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0m_bootstrap\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_gcd_import\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mlevel\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpackage\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 128\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 129\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m~\\Anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_gcd_import\u001b[1;34m(name, package, level)\u001b[0m\n", "\u001b[1;32m~\\Anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_find_and_load\u001b[1;34m(name, import_)\u001b[0m\n", "\u001b[1;32m~\\Anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_find_and_load_unlocked\u001b[1;34m(name, import_)\u001b[0m\n", "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'watermark'" ] } ], "source": [ "%load_ext watermark\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Package version for binder" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "matplotlib: 3.2.2\n", "ipywidgets: 7.6.3\n", "re : 2.2.1\n", "wx : 4.1.1\n", "pandas : 1.0.5\n", "numpy : 1.18.5\n", "\n" ] } ], "source": [ "%watermark --iversions\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }