Сведения о наборе данных:
- Набор данных загружается с https://archive.ics.uci.edu/ml/datasets/EMG+data+for+gestures.
- Сначала прочитайте файл readme, чтобы получить информацию о наборе данных.
Широкий подход к обработке данных:
- Скопируйте все текстовые файлы в один CSV-файл.
- Замените все отсутствующие значения в файле
- Сохраните исправленный набор данных в файл csv.
Подробные сведения:
- Импортируйте все необходимые библиотеки, такие как pandas, numpy, os
- Извлечь путь текстовых файлов в один список.
- Используя путь к текстовым файлам, сохраните содержимое текстового файла в один CSV-файл.
- Преобразование данных CSV-файла в фрейм данных.
- Замените все пропущенные значения.
- Сохраните предварительно обработанные данные в 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)
Этот набор данных можно использовать для дальнейшего анализа данных.