如:将如图所示的trainx转换成300维的dataframe
trainx是由2维数组组成的series,如图:
In[3]:trainx[0].shape
Out[3]: (1, 300)
要将其转换成300列的dataframe:
col_names = []
for i in range(0, 300):
col_name = 'col' + str(i)
col_names.append(col_name)
print(col_names)
trainx_df = pd.DataFrame( columns=col_names)
for i in range(len(trainx)):
trainx_df.loc[i] = [trainx[i][0][n] for n in range(300)]
产生该需求的情景:
- 将文本用word2vec转为向量后,生成的是类似于trainx的数据,直接输入到xgboost的DMatrix函数中会报如下错误:ValueError: setting an array element with a sequence.
- 之所以产生这样的错误,就是因为xgboost要求输入的数据必须是dataframe的数据格式