Получение ошибки типа при вставке столбцов с помощью функции вставки pandas в цикле for - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь проверить, есть ли в моем информационном фрейме все необходимые столбцы, выполнив что-то вроде приведенного ниже кода, затем я получаю серию столбцов, которых нет в информационном фрейме, которые я пытаюсь включить с помощью df.insert, показанного ниже.

features = ['num_calls_before', 'num_calls_before_if_not_paid',
       'days_from_last_call_final', 'days_from_last_call_if_not_paid',
       'UPA', 'disabled_days', 'rev_real',
       'contacted_via_CC', 'contacted_via_Kazi', 'stima_No', 'stima_Yes',
       'Kerosene_paraffin_flag_No', 'Kerosene_paraffin_flag_Yes',
       'bank_account_No', 'bank_account_Yes', 'home_type_Own',
       'home_type_Rent', 'loan_before_flag_No', 'loan_before_flag_Yes',
       'number_of_family_members_1', 'number_of_family_members_2',
       'number_of_family_members_3', 'number_of_family_members_4',
       'number_of_family_members_5', 'number_of_family_members_6',
       'number_of_family_members_7_or_more', 'source_of_income_Agriculture',
       'source_of_income_Business', 'source_of_income_Employment',
       'source_of_income_Fishing', 'source_of_income_Livestock',
       'source_of_income_Others', 'monthly_income_10k_30k',
       'monthly_income_10k_or_less', 'monthly_income_30k_60k',
       'monthly_income_60k_or_more', 'where_is_the_product_used_Both',
       'where_is_the_product_used_Business', 'where_is_the_product_used_Home',
       'customer_gender_FEMALE', 'customer_gender_MALE', 'final_segment_Best',
       'final_segment_Medium', 'final_segment_Worst',
       'time_of_month_Begining_month', 'time_of_month_Mid_month',
       'time_of_month_month_end', 'day_of_week_0', 'day_of_week_1',
       'day_of_week_2', 'day_of_week_3', 'day_of_week_4', 'day_of_week_5',
       'day_of_week_6']

features_1 = pd.Series(features)
inc = features_1[features_1.isin(model_data_imputed_one_hot.columns)==False]

for i in inc.index:
    model_data_imputed_one_hot.insert(i,inc[i],0)

Но приведенный выше цикл for дает мне следующую ошибку

TypeError: loc must be int

Код отлично работает в IDE Spyder в Windows, но когда я пытаюсь сделать то же самое вЭкземпляр Linux EC2 выдает вышеуказанную ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...