TL: DR - как создать фрейм данных / серию из одного или нескольких столбцов в существующем неиндексированном фрейме данных на основе столбцов, содержащих определенный фрагмент текста?
Относительно плохо знаком с Python и анализом данных и (я впервые пишу вопрос о переполнении стека, но я долго искал ответ (и использовал его для регулярного кодирования) и не имел никакого успеха.
У меня есть импорт данных из файла Excel, в котором нет именованных / проиндексированных столбцов. Я пытаюсь успешно извлечь данные из почти 2000 таких файлов, в которых все столбцы данных немного отличаются (конечно, почему?сделайте это простым ... или следуйте шаблону ... или просто используйте что-то отличное от плохо отформатированных электронных таблиц Excel ...).
Исходный кадр данных (из плохо структурированного файла XLS) выглядит примерно так:
0 NaN RIGHT NaN
1 Date UCVA Sph
2 2007-01-13 00:00:00 6/38 [-2.00]
3 2009-11-05 00:00:00 6/9 NaN
4 2009-11-18 00:00:00 6/12 NaN
5 2009-12-14 00:00:00 6/9 [-1.25]
6 2018-04-24 00:00:00 worn CL [-5.50]
3 4 5 6 7 8 9 \
0 NaN NaN NaN NaN NaN NaN NaN
1 Cyl Axis BSCVA Pentacam remarks K1 K2 K2 back
2 [-2.75] 65 6/9 NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN 6/5 Pentacam 46 43.9 -6.6
5 [-5.75] 60 6/6-1 NaN NaN NaN NaN
6 [+7.00} 170 6/7.5 NaN NaN NaN NaN
... 17 18 19 20 21 22 \
0 ... NaN NaN NaN NaN NaN NaN
1 ... BSCVA Pentacam remarks K1 K2 K2 back K max
2 ... 6/5 NaN NaN NaN NaN NaN
3 ... NaN NaN NaN NaN NaN NaN
4 ... NaN Pentacam 44.3 43.7 -6.2 45.5
5 ... 6/4-4 NaN NaN NaN NaN NaN
6 ... 6/5 NaN NaN NaN NaN NaN
Я хочу извлечь набор фреймов / рядов данных, которые затем можно объединить, чтобы получить «аккуратный» фрейм данных, например:
1 Date R-UCVA R-Sph
2 2007-01-13 00:00:00 6/38 [-2.00]
3 2009-11-05 00:00:00 6/9 NaN
4 2009-11-18 00:00:00 6/12 NaN
5 2009-12-14 00:00:00 6/9 [-1.25]
6 2018-04-24 00:00:00 worn CL [-5.50]
1 R-Cyl R-Axis R-BSCVA R-Penta R-K1 R-K2 R-K2 back
2 [-2.75] 65 6/9 NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN 6/5 Pentacam 46 43.9 -6.6
5 [-5.75] 60 6/6-1 NaN NaN NaN NaN
6 [+7.00} 170 6/7.5 NaN NaN NaN NaN
и т. Д.и т. д., поэтому я пытаюсь написать некоторый код, который будет тянуть ряд столбцов, которые я определяю, ища слова «Дата» или «UCVA» и т. д. и т. д. Затем я планирую объединить их обратно в один фрейм данных сидентификатор пациента в виде дополнительного столбца.А затем циклически перебирайте все файлы XLS, добавляя всю партию в один CSV-файл, над которым я могу потом делать полезные вещи (например, поместить в базу данных Access - да, я знаю, но он должен быть простым в использовании и уже установленным).на компьютере НГС - и статистический анализ).
Есть предложения?Надеюсь, этого достаточно.
Заранее большое спасибо.
С наилучшими пожеланиями, Вики