--- a +++ b/DREAMER/DREAMER_Data_Preprocessing.ipynb @@ -0,0 +1,914 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "ecg = pd.read_csv(\"ECG.csv\")\n", + "eeg = pd.read_csv(\"EEG.csv\")\n", + "labels = pd.read_csv(\"Labels.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "Arousal = labels[labels['Label'] == 'Arousal']\n", + "Dominance = labels[labels['Label'] == 'Dominance']\n", + "Valence = labels[labels['Label'] == 'Valence']" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "labels.shape[0] == Arousal.shape[0] + Dominance.shape[0] + Valence.shape[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "Arousal = Arousal.rename({'Score':'Arousal'}, axis=1)\n", + "Dominance = Dominance.rename({'Score':'Dominance'}, axis=1)\n", + "Valence = Valence.rename({'Score':'Valence'}, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['ECG1', 'ECG2', 'Person', 'Movie'], dtype='object')\n", + "Index(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12',\n", + " '13', 'Person', 'Movie'],\n", + " dtype='object')\n", + "Index(['Score', 'Person', 'Movie', 'Label'], dtype='object')\n" + ] + } + ], + "source": [ + "print(ecg.columns)\n", + "print(eeg.columns)\n", + "print(labels.columns)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(10975232, 16)\n", + "(21950464, 4)\n" + ] + } + ], + "source": [ + "print(eeg.shape)\n", + "print(ecg.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "ecg = pd.merge(ecg, Arousal.drop('Label', axis=1), how='left', on=['Person', 'Movie'])\n", + "ecg = pd.merge(ecg, Dominance.drop('Label', axis=1), how='left', on=['Person', 'Movie'])\n", + "ecg = pd.merge(ecg, Valence.drop('Label', axis=1), how='left', on=['Person', 'Movie'])" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [], + "source": [ + "eeg = pd.merge(eeg, Arousal.drop('Label', axis=1), how='left', on=['Person', 'Movie'])\n", + "eeg = pd.merge(eeg, Dominance.drop('Label', axis=1), how='left', on=['Person', 'Movie'])\n", + "eeg = pd.merge(eeg, Valence.drop('Label', axis=1), how='left', on=['Person', 'Movie'])" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(10975232, 19)\n" + ] + } + ], + "source": [ + "print(eeg.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(10975232, 19)\n", + "(21950464, 7)\n" + ] + } + ], + "source": [ + "print(eeg.shape)\n", + "print(ecg.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>0</th>\n", + " <th>1</th>\n", + " <th>2</th>\n", + " <th>3</th>\n", + " <th>4</th>\n", + " <th>5</th>\n", + " <th>6</th>\n", + " <th>7</th>\n", + " <th>8</th>\n", + " <th>9</th>\n", + " <th>10</th>\n", + " <th>11</th>\n", + " <th>12</th>\n", + " <th>13</th>\n", + " <th>Person</th>\n", + " <th>Movie</th>\n", + " <th>Arousal</th>\n", + " <th>Dominance</th>\n", + " <th>Valence</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>4388.2</td>\n", + " <td>4102.6</td>\n", + " <td>4219.5</td>\n", + " <td>4465.1</td>\n", + " <td>4370.8</td>\n", + " <td>4399.5</td>\n", + " <td>4443.1</td>\n", + " <td>4023.1</td>\n", + " <td>4365.1</td>\n", + " <td>4310.3</td>\n", + " <td>3953.8</td>\n", + " <td>4454.4</td>\n", + " <td>4326.2</td>\n", + " <td>4165.1</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>4375.9</td>\n", + " <td>4093.8</td>\n", + " <td>4252.8</td>\n", + " <td>4522.6</td>\n", + " <td>4435.9</td>\n", + " <td>4411.8</td>\n", + " <td>4488.7</td>\n", + " <td>4108.7</td>\n", + " <td>4399.5</td>\n", + " <td>4384.6</td>\n", + " <td>4007.7</td>\n", + " <td>4466.7</td>\n", + " <td>4372.8</td>\n", + " <td>4247.2</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>4378.5</td>\n", + " <td>4091.3</td>\n", + " <td>4230.3</td>\n", + " <td>4488.2</td>\n", + " <td>4370.3</td>\n", + " <td>4402.6</td>\n", + " <td>4461.0</td>\n", + " <td>4077.4</td>\n", + " <td>4378.5</td>\n", + " <td>4328.7</td>\n", + " <td>3986.2</td>\n", + " <td>4461.0</td>\n", + " <td>4328.2</td>\n", + " <td>4203.6</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>4393.8</td>\n", + " <td>4101.0</td>\n", + " <td>4193.3</td>\n", + " <td>4419.0</td>\n", + " <td>4270.3</td>\n", + " <td>4392.3</td>\n", + " <td>4411.3</td>\n", + " <td>3982.6</td>\n", + " <td>4336.4</td>\n", + " <td>4213.3</td>\n", + " <td>3930.3</td>\n", + " <td>4442.6</td>\n", + " <td>4261.0</td>\n", + " <td>4100.0</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>4396.4</td>\n", + " <td>4108.7</td>\n", + " <td>4210.8</td>\n", + " <td>4436.4</td>\n", + " <td>4310.8</td>\n", + " <td>4401.0</td>\n", + " <td>4426.7</td>\n", + " <td>3980.5</td>\n", + " <td>4349.7</td>\n", + " <td>4238.5</td>\n", + " <td>3945.1</td>\n", + " <td>4446.7</td>\n", + " <td>4289.7</td>\n", + " <td>4115.4</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " 0 1 2 3 4 5 6 7 8 \\\n", + "0 4388.2 4102.6 4219.5 4465.1 4370.8 4399.5 4443.1 4023.1 4365.1 \n", + "1 4375.9 4093.8 4252.8 4522.6 4435.9 4411.8 4488.7 4108.7 4399.5 \n", + "2 4378.5 4091.3 4230.3 4488.2 4370.3 4402.6 4461.0 4077.4 4378.5 \n", + "3 4393.8 4101.0 4193.3 4419.0 4270.3 4392.3 4411.3 3982.6 4336.4 \n", + "4 4396.4 4108.7 4210.8 4436.4 4310.8 4401.0 4426.7 3980.5 4349.7 \n", + "\n", + " 9 10 11 12 13 Person Movie Arousal Dominance \\\n", + "0 4310.3 3953.8 4454.4 4326.2 4165.1 1 1 3 2 \n", + "1 4384.6 4007.7 4466.7 4372.8 4247.2 1 1 3 2 \n", + "2 4328.7 3986.2 4461.0 4328.2 4203.6 1 1 3 2 \n", + "3 4213.3 3930.3 4442.6 4261.0 4100.0 1 1 3 2 \n", + "4 4238.5 3945.1 4446.7 4289.7 4115.4 1 1 3 2 \n", + "\n", + " Valence \n", + "0 4 \n", + "1 4 \n", + "2 4 \n", + "3 4 \n", + "4 4 " + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eeg.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "ecg.to_csv(\"ECG_Labelled.csv\")\n", + "eeg.to_csv(\"EEG_Labelled.csv\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Combine ECG and EEG" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sf/.local/lib/python3.6/site-packages/numpy/lib/arraysetops.py:472: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison\n", + " mask |= (ar1 == a)\n" + ] + } + ], + "source": [ + "ecg = pd.read_csv(\"ECG_Labelled.csv\", index_col=0)\n", + "eeg = pd.read_csv(\"EEG_Labelled.csv\", index_col=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>0</th>\n", + " <th>1</th>\n", + " <th>2</th>\n", + " <th>3</th>\n", + " <th>4</th>\n", + " <th>5</th>\n", + " <th>6</th>\n", + " <th>7</th>\n", + " <th>8</th>\n", + " <th>9</th>\n", + " <th>10</th>\n", + " <th>11</th>\n", + " <th>12</th>\n", + " <th>13</th>\n", + " <th>Person</th>\n", + " <th>Movie</th>\n", + " <th>Arousal</th>\n", + " <th>Dominance</th>\n", + " <th>Valence</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>4388.2</td>\n", + " <td>4102.6</td>\n", + " <td>4219.5</td>\n", + " <td>4465.1</td>\n", + " <td>4370.8</td>\n", + " <td>4399.5</td>\n", + " <td>4443.1</td>\n", + " <td>4023.1</td>\n", + " <td>4365.1</td>\n", + " <td>4310.3</td>\n", + " <td>3953.8</td>\n", + " <td>4454.4</td>\n", + " <td>4326.2</td>\n", + " <td>4165.1</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>4375.9</td>\n", + " <td>4093.8</td>\n", + " <td>4252.8</td>\n", + " <td>4522.6</td>\n", + " <td>4435.9</td>\n", + " <td>4411.8</td>\n", + " <td>4488.7</td>\n", + " <td>4108.7</td>\n", + " <td>4399.5</td>\n", + " <td>4384.6</td>\n", + " <td>4007.7</td>\n", + " <td>4466.7</td>\n", + " <td>4372.8</td>\n", + " <td>4247.2</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>4378.5</td>\n", + " <td>4091.3</td>\n", + " <td>4230.3</td>\n", + " <td>4488.2</td>\n", + " <td>4370.3</td>\n", + " <td>4402.6</td>\n", + " <td>4461.0</td>\n", + " <td>4077.4</td>\n", + " <td>4378.5</td>\n", + " <td>4328.7</td>\n", + " <td>3986.2</td>\n", + " <td>4461.0</td>\n", + " <td>4328.2</td>\n", + " <td>4203.6</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>4393.8</td>\n", + " <td>4101.0</td>\n", + " <td>4193.3</td>\n", + " <td>4419.0</td>\n", + " <td>4270.3</td>\n", + " <td>4392.3</td>\n", + " <td>4411.3</td>\n", + " <td>3982.6</td>\n", + " <td>4336.4</td>\n", + " <td>4213.3</td>\n", + " <td>3930.3</td>\n", + " <td>4442.6</td>\n", + " <td>4261.0</td>\n", + " <td>4100.0</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>4396.4</td>\n", + " <td>4108.7</td>\n", + " <td>4210.8</td>\n", + " <td>4436.4</td>\n", + " <td>4310.8</td>\n", + " <td>4401.0</td>\n", + " <td>4426.7</td>\n", + " <td>3980.5</td>\n", + " <td>4349.7</td>\n", + " <td>4238.5</td>\n", + " <td>3945.1</td>\n", + " <td>4446.7</td>\n", + " <td>4289.7</td>\n", + " <td>4115.4</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " 0 1 2 3 4 5 6 7 8 \\\n", + "0 4388.2 4102.6 4219.5 4465.1 4370.8 4399.5 4443.1 4023.1 4365.1 \n", + "1 4375.9 4093.8 4252.8 4522.6 4435.9 4411.8 4488.7 4108.7 4399.5 \n", + "2 4378.5 4091.3 4230.3 4488.2 4370.3 4402.6 4461.0 4077.4 4378.5 \n", + "3 4393.8 4101.0 4193.3 4419.0 4270.3 4392.3 4411.3 3982.6 4336.4 \n", + "4 4396.4 4108.7 4210.8 4436.4 4310.8 4401.0 4426.7 3980.5 4349.7 \n", + "\n", + " 9 10 11 12 13 Person Movie Arousal Dominance \\\n", + "0 4310.3 3953.8 4454.4 4326.2 4165.1 1 1 3 2 \n", + "1 4384.6 4007.7 4466.7 4372.8 4247.2 1 1 3 2 \n", + "2 4328.7 3986.2 4461.0 4328.2 4203.6 1 1 3 2 \n", + "3 4213.3 3930.3 4442.6 4261.0 4100.0 1 1 3 2 \n", + "4 4238.5 3945.1 4446.7 4289.7 4115.4 1 1 3 2 \n", + "\n", + " Valence \n", + "0 4 \n", + "1 4 \n", + "2 4 \n", + "3 4 \n", + "4 4 " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eeg.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "ecg_downsampled = ecg[np.arange(len(ecg)) % 2 == 0] # deleting all odd indices" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "44544" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ecg_downsampled[(ecg_downsampled['Person'] == 1) & (ecg_downsampled['Movie'] == 3)].shape[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "ecg_downsampled.reset_index(inplace=True, drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>ECG1</th>\n", + " <th>ECG2</th>\n", + " <th>Person</th>\n", + " <th>Movie</th>\n", + " <th>Arousal</th>\n", + " <th>Dominance</th>\n", + " <th>Valence</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>2046</td>\n", + " <td>2056</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>2039</td>\n", + " <td>2059</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>2041</td>\n", + " <td>2060</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>2039</td>\n", + " <td>2059</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>2040</td>\n", + " <td>2056</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>2</td>\n", + " <td>4</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " ECG1 ECG2 Person Movie Arousal Dominance Valence\n", + "0 2046 2056 1 1 3 2 4\n", + "1 2039 2059 1 1 3 2 4\n", + "2 2041 2060 1 1 3 2 4\n", + "3 2039 2059 1 1 3 2 4\n", + "4 2040 2056 1 1 3 2 4" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ecg_downsampled.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "44544" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eeg[(eeg['Person'] == 1) & (eeg['Movie'] == 3)].shape[0] # check" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eeg.shape[0] == ecg_downsampled.shape[0] # check" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12',\n", + " '13', 'Person', 'Movie', 'Arousal', 'Dominance', 'Valence'],\n", + " dtype='object')" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eeg.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "del ecg" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "combined = pd.concat([eeg, ecg_downsampled.drop(['Person', 'Movie', 'Arousal', 'Dominance', 'Valence'], axis=1)], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(10975232, 7)" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ecg_downsampled.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(10975232, 21)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "combined.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12',\n", + " '13', 'Person', 'Movie', 'Arousal', 'Dominance', 'Valence', 'ECG1',\n", + " 'ECG2'],\n", + " dtype='object')" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "combined.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "combined.to_csv(\"DREAMER_combined.csv\")" + ] + } + ], + "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.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}