问题使用Pandas.DataFrame.assign

时间:2016-01-23 19:23:42

标签: python numpy 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'是我原来的数据框,'collegeGPA_new'是新添加的列,'10percentage','12percentage','collegeGPA','Salary','DOB','SalaryL'是现有的列数据帧。

现在问题是,在推导出X_train之后,我的数据帧从(3199,628)到(5,628)令人惊讶地缩小。 train2具有形状(3199,628),而X_train具有形状(5,628)。其他行在哪里?这可能是什么问题?

1 个答案:

答案 0 :(得分:1)

DataFrame.head仅返回数据帧的N个第一行,默认N为5。 这就是为什么X_train只有5行。