np.c_ 将数据类型转换为对象。我可以防止吗?

数据挖掘 机器学习 Python 熊猫 数据清理 麻木的
2022-02-19 14:22:35

正在尝试使用 Titanic 数据集,当时我想对分类特征进行 One Hot Encode,之后我想将原始数据与新的 one hot 向量结合起来。数据类型如下:

data: 熊猫数据框

Titles_ohe: Numpy 稀疏矩阵 (float64)

我尝试使用以下方法将它们合并到数据框中np.c_

columns = (list(data))+list(Titles.values)

data = pd.DataFrame(np.c_[data.values, Titles_ohe.toarray()], columns=columns)

但是,在检查生成的 Dataframe 的数据类型时,所有属性都已更改为object数据类型。有什么方法可以在使用时防止这种情况发生np.c_,还是有替代解决方案?提前感谢您的帮助!

1个回答

在这种情况下,我会使用 DataFrame.join() :

data = data.join(pd.SparseDataFrame(Titles_ohe, index=data.index, columns=Titles))