Я пытаюсь использовать FeatureTools для нормализации таблицы для синтеза объектов.Моя таблица похожа на ответ Мак-Кантера из Как применить Deep Feature Synthesis к одной таблице .Я использую исключение. Буду признателен за помощь в работе.
Исключение происходит из featuretools.entityset.entity.entityset_convert_variable_type
, который, похоже, не обрабатывает типы времени.
Какова природаисключение, и можно ли обойти его?
Таблица, df
:
PatientId | AppointmentID | Gender | ScheduledDay | AppointmentDay | Age | Neighbourhood | Scholarship | Hipertension | Diabetes | Alcoholism | Handcap | SMS_received | No-show
12345 | 5642903 | F | 2016-04-29 | 2016-04-29 | 62 | JARDIM DA | 0 | 1 | 0 | 0 | 0 | 0 | No
67890 | 3902943 | M | 2016-03-18 | 2016-04-29 | 44 | Other Nbh | 1 | 1 | 0 | 0 | 0 | 0 | Yes
...
Мой код:
appointment_entity_set = ft.EntitySet('appointments')
appointment_entity_set.entity_from_dataframe(
dataframe=df, entity_id='appointments',
index='AppointmentID', time_index='AppointmentDay')
# error generated here
appointment_entity_set.normalize_entity(base_entity_id='appointments',
new_entity_id='patients',
index='PatientId')
ScheduledDay и AppointmentDay имеют тип pandas._libs.tslib.Timestamp
как в случае Ответ Макса Кантера .
Исключение:
~/.virtualenvs/trane/lib/python3.6/site-packages/featuretools/entityset/entity.py in entityset_convert_variable_type(self, column_id, new_type, **kwargs)
474 df = self.df
--> 475 if df[column_id].empty:
476 return
477 if new_type == vtypes.Numeric:
Exception: Cannot convert column first_appointments_time to <class 'featuretools.variable_types.variable.DatetimeTimeIndex'>
featuretools == 0,1.21
Этот набор данных из конкурса Kaggle Show или No Show