2016-01-23 5 views
0

Я использую функцию назначения, чтобы добавить некоторые новые столбцы в мою фреймворк данных, которые являются производными от существующих столбцов базы данных.Проблема с использованием Pandas.DataFrame.assign

вот код -

train2 = pd.read_excel('output1.xlsx') 
X_train = (train2.assign(collegeGPA_new = np.power(2.0,(train2["10percentage"] + train2["12percentage"] + train2["collegeGPA"]))).head()) 
y_train = X_train.Salary 
X_train = X_train.drop(['collegeGPA','CollegeTier','Salary','DOB','SalaryL'], axis=1) 

Здесь 'train2' мой оригинальный dataframe, 'collegeGPA_new' является недавно добавленный столбец и '10percentage', '12percentage', 'collegeGPA', 'Зарплата', «DOB», «SalaryL» - это существующие столбцы данных.

Теперь дело в том, что мой dataframe неожиданно сжимается от (3199,628) до (5,628) после получения X_train. train2 имеет форму (3199,628), тогда как X_train имеет форму (5628). Куда идут другие ряды? В чем тут проблема?

+1

Почему существует '.head()' в конце инструкции 'assign'? – screenpaver

ответ

1

DataFrame.head возвращает только N первых строк данных и по умолчанию N равно 5. Вот почему X_train имеет только 5 строк.

Смежные вопросы