我有一个包含 13 列的数据框。在 13 三列中是字符串。一个字符串列是简单的男性和女性,我使用它转换为 1 和 0
pd.get_dummies()
第二列包含三种不同类型的字符串,因此可以轻松转换为数组
从 sklearn.feature_extraction.text 导入 CountVectorizer
完全没有问题。问题是我的第三列也是最后一列包含大量名称。如果我尝试使用 Countvectorizer 进行转换,它会将名称转换为不可读的长字符串。
df['name']=Countvectorizer.fit_transform(df.name)
如果我尝试将其转换回数据帧,如stackoverflow页面上的其他示例所示,在这种情况下,我会得到这个
245376 (0, 14297)\t1\n (1, 5843)\t1\n (1, 13365)... 245377 (0, 14297)\t1\n (1, 5843)\t1\n (1, 13365) )...
名称:供应商名称,数据类型:对象
下一个代码导致内存错误
df['name'] =pd.DataFrame(CV.fit_transform(df.name).toarray(),columns=CV.get_feature_names())
我也看过这个问题。问题:除了上面提到的以外,还有什么方法最好以数字形式使用此名称列。或任何其他想法如何改进这一点,以便数据完全适合Randomforest 分类器。因为,Dataframe 退出大,包含 123790行。提前感谢您的帮助或建议。