Как быстро объединить данные испытаний и обучения, а затем снова разделить их? - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть отдельные тестовые и обучающие данные (я не разделяю один фрейм данных), поэтому, если я делаю одно горячее кодирование, мне нужно их объединить, а затем кодировать, потому что в противном случае в тестовых и обучающих данных может произойти другое кодирование, и я буду получить неправильный вывод. Теперь я объединил данные и выполнил одно горячее кодирование, но возникла проблема с его повторным разделением

Здесь я хочу закодировать столбец «Отправлено». поезд и тест - это фреймы данных. А "Survived" является целью в кадре данных поезда, поэтому у меня не будет этого столбца в тестовом кадре данных. Я должен предсказать это из тестового фрейма данных.

train_ids=train['Embarked']
test_ids=test['Embarked']

cols=list(test.columns)
cols.remove('Embarked')
cols.insert(0,'Embarked')

combined=pd.concat([train.drop('Survived',axis=1)[cols],test[cols]])

combined=pd.get_dummies(combined)

train_new=combined[combined['Embarked'].isin(train_id)]
test_new = combined[combined['Embarked'].isin(test_id)]
train_new=train_new.merge(train[['Embarked','Survived']],on='Embarked')

Теперь я получаю сообщение об ошибке в последних трех строках, когда пытаюсь снова разделиться. Потому что после кодирования «Embarked» был преобразован в три столбца «Embarked_C», «Embarked_Q», «Embarked_S». Подскажите, пожалуйста, как разделить снова, чтобы получить два отдельных кадра данных для поезда и разделения

...