我有一个五列的数据集
数据集:
Country Population Tourism Mean_Age Employed
Afghanistan 37172386 14000 17.3 Fulltime
Albania 2866376 5340000 36.2 Parttime
几乎有1000个这样的数据,其中Employed
是一个分类列。我想使用一个热编码将Employed
列表示为一个数字列
我的代码是
from sklearn.preprocessing import OneHotEncoder
Employed_Status = data["Employed"]
encoder = OneHotEncoder()
encoder.fit(Employed_Status.values.reshape(-1, 1))
encoder.transform(Employed_Status.head().values.reshape(-1, 1)).todense()
这里data
是我的数据帧的名称
当我在执行上述行之后尝试查看数据集时,我得到了上一个数据集
然而,我想我会得到这样的东西
Country Population Tourism Mean_Age Employed
Afghanistan 37172386 14000 17.3 1
Albania 2866376 5340000 36.2 0
因为我已经在Employed
列上应用了一个热编码
有谁能告诉我为什么我得到了同样的结果而不是期望的结果
您没有保存输出
可能需要一些争论才能使数据集走到一起。我发现
pd.concat(numerical_in, categorical_encoded_in, axis=1)
在过去是必需的,但是您可能会发现,一旦保存了密集输出,它就可以工作了您可以这样做:
相关问题 更多 >
编程相关推荐