如:将如图所示的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的数据格式
本文介绍如何将由2维数组组成的Series转换为300列的DataFrame,以解决使用word2vec生成的向量数据直接输入到xgboost的DMatrix函数时报错的问题。
1511

被折叠的 条评论
为什么被折叠?



