Сведения о наборе данных:

  1. Набор данных загружается с https://archive.ics.uci.edu/ml/datasets/EMG+data+for+gestures.
  2. Сначала прочитайте файл readme, чтобы получить информацию о наборе данных.

Широкий подход к обработке данных:

  1. Скопируйте все текстовые файлы в один CSV-файл.
  2. Замените все отсутствующие значения в файле
  3. Сохраните исправленный набор данных в файл csv.

Подробные сведения:

  1. Импортируйте все необходимые библиотеки, такие как pandas, numpy, os
  2. Извлечь путь текстовых файлов в один список.
  3. Используя путь к текстовым файлам, сохраните содержимое текстового файла в один CSV-файл.
  4. Преобразование данных CSV-файла в фрейм данных.
  5. Замените все пропущенные значения.
  6. Сохраните предварительно обработанные данные в CSV-файл, который можно использовать для дальнейшей обработки.

Код Python:

# Step:1 Import required libraries
import os
import io
import pandas as pd
import numpy as np
# Step:2 Extracting path of all text files in a list
# Dataset is stored in  google drive in EMG_dataset folder
pathlist=[]
for root, dirs, files in os.walk('/content/drive/My Drive/EMG_dataset'):
  for file in files:
    if file.endswith(".txt"):
      s = os.path.join(root, file)
      pathlist.append(s)
# Step:3 Writing all text files into a single csv file
# I have given output File name as Single_csv_file.csv in Gdrive
filenames=pathlist
with open('/content/drive/My Drive/Single_CSV_file.csv','w') as outfile:
  for fname in filenames:
    with open(fname) as infile:
      for line in infile:
        outfile.write(line)
# Step:4 Converting csv data into pandas dataframe
path='/content/drive/My Drive/Single_CSV_file.csv'
data=pd.read_csv(path,sep='\t',error_bad_lines=False)
# Step:5 Replacing column names in data.
# While appending data from all text files into single csv file,
# all column headers would have been copied to the single csv file,
# Inorder to replace those data, following step is done
# defining a function remove_column_name to replace all column name # with data in previous row
def remove_column_name(column_name):
  for i in range(1,len(data[column_name])):
    if (data[column_name][i])==column_name:
      data[column_name][i]=data[column_name][i-1]
# Calling the function
remove_column_name('channel8')
remove_column_name('channel7')
remove_column_name('channel6')
remove_column_name('channel5')
remove_column_name('channel4')
remove_column_name('channel3')
remove_column_name('channel2')
remove_column_name('channel1')
remove_column_name('time')
remove_column_name('class')
# Step:6 Converting Preprocessed data into CSV file
data.to_csv('/content/drive/MyDrive/corrected_emg_CSV_file.csv',index=False)

Этот набор данных можно использовать для дальнейшего анализа данных.