Могу ли я использовать словарь для расширения фрейма данных с описаниями событий и атрибутами в виде столбцов (для табличного ML fast.ai)? - PullRequest
0 голосов
/ 14 октября 2019

У меня есть база данных (pandas dataframe), сгруппированная по ID. Это столбцы «Описание», а затем атрибуты с 1 по 10. У меня есть таблица (еще один pandas dataframe), в которой указаны возможные значения для описания события, а также значение каждого атрибута для каждого из этих значений описания события. Я хочу расширить свой фрейм данных, чтобы каждое событие и его атрибуты были отдельными столбцами.

Я пытался создать цикл for для каждой строки, сравнивая его с таблицей атрибутов, но набор данных состоит из 100 000+ строк и занимает бесконечно ...

Мысли о более эффективномметод?

Таблица содержит несколько тысяч отдельных идентификаторов и ~ 100 событий на каждый идентификатор. Моя конечная цель состоит в том, чтобы затем развернуть фрейм данных по идентификатору, сгруппировав события по месяцам и сделав каждый столбец в новом столбце новым. Имеет ли это смысл, если моя цель предсказывает (известное) двоичное значение для каждого идентификатора? Я пытаюсь использовать табличную модель fast.ai.

Любые мысли о том, как сделать второй шаг без цикла for (что, кажется, это все, что я могу легко реализовать в данный момент), будутвысоко ценится мной и моим процессором!

В настоящее время:

         ID, Description, Attribute 1, Attribute 2, Time
         1, Diagnosis, Heart Attack, Cleveland, 0
         1, Prescription, Fluconazale, Cleveland, 5
         2, Diagnosis, Heart Attack, New York, 0

Конечная цель:

         ID, Diagnosis_Attribute_1_Time_0_to_4, Diagnosis_Attribute_2_Time_0_to_4, \
Prescription_Attribute_1_Time_0_to_4, Prescription_Attribute_2_Time_0_to_4, \
Diagnosis_Attribute_1_Time_5_to_10, Diagnosis_Attribute_2_Time_5_to_10, \
Prescription_Attribute_1_Time_5_to_10, Prescription_Attribute_2_Time_5_to_10
         1, Heart Attack, Cleveland, NaN, NaN, NaN, NaN, Fluconazale, Cleveland
         2, Heart Attack, New York,  NaN, NaN, NaN, NaN, NaN, NaN
...