Почему выравнивание индекса в этом кадре данных такое странное? Как это исправить?

Итак, я работаю над этой задачей машинного обучения, в которой я должен предсказать вероятность того, что человеку будет выдан билет на упадок. Я попытался установить ticket_id в качестве индекса фрейма данных, но произошло что-то странное, и я не знаю, почему.

import pandas as pd
import numpy as np

def blight_model():
    train = pd.read_csv('train.csv', encoding = "ISO-8859-1")
    test = pd.read_csv('readonly/test.csv', encoding = "ISO-8859-1")
    address = pd.read_csv('readonly/addresses.csv', encoding = "ISO-8859-1")
    """X = data.iloc[:,0:33]  #independent columns
    y = data.iloc[:,-1]    #target column i.e price range"""
    common_cols_to_drop = ['agency_name', 'inspector_name', 'mailing_address_str_number',
                           'violator_name', 'violation_street_number', 'violation_street_name',
                           'mailing_address_str_name', 'admin_fee', 'violation_zip_code',
                           'state_fee', 'late_fee', 'ticket_issued_date', 'hearing_date', 'violation_description',
                           'fine_amount', 'clean_up_cost', 'disposition', 'grafitti_status',
                           'violation_code', 'city']
    train_cols_to_drop = ['payment_status', 'payment_date', 'balance_due', 'payment_amount','compliance_detail', 'collection_status'] + common_cols_to_drop
    train = train.drop(train_cols_to_drop, axis=1).set_index('ticket_id')
    train = train[np.isfinite(train['compliance'])]

    return train.head()

Результат, который я получаю, это? Что с ticket_id?

Имгур


person jukebox    schedule 04.05.2019    source источник
comment
pandas.pydata.org/pandas-docs/ стабильная/ссылка/api/. Посмотрите на примеры. Я полагаю, что вы устанавливаете индекс для удаленной строки, а не для таблицы. Вы должны установить_index сразу после переменной поезда, когда вы читаете csv   -  person Filip Bartoš    schedule 04.05.2019
comment
В моем решении здесь содержится дополнительная информация о размещении имен индексов и столбцов: stackoverflow.com/questions/55027108/pandas-rename-index/. Это необходимо, чтобы вы всегда знали, что есть что.   -  person ALollz    schedule 04.05.2019


Ответы (1)


Он просто отображается таким образом, чтобы вы знали, что это индекс.

Вы получаете это из-за этого (устанавливая его как индекс):

.set_index('ticket_id')

в этой строке:

train = train.drop(train_cols_to_drop, axis=1).set_index('ticket_id')
person Klemen Koleša    schedule 04.05.2019
comment
Да, я пытался установить ticket_id в качестве индекса. Однако он не соответствует другим заголовкам. Вот что я смущен. - person jukebox; 04.05.2019
comment
Я думаю, что просто отображается таким образом, чтобы вы знали, что это индекс. - person Klemen Koleša; 04.05.2019