Pandas 中的序数编码

mik*_*wry 2 python pandas one-hot-encoding

有没有办法将pandas.get_dummies数字表示形式输出在列中,而不是每个选项的单独列中?

具体来说,目前使用pandas.get_dummies它时,每个选项都会为我提供一列:

尺寸 尺寸_大 尺码_中号 尺寸_小
大的 1 0 0
中等的 0 1 0
小的 0 0 1

但我正在寻找更多以下输出:

尺寸 尺寸_数值
大的 1
中等的 2
小的 3

moz*_*way 8

您不需要虚拟变量,您需要因素/类别。

使用pandas.factorize

df['Size_Numerical'] = pd.factorize(df['Size'])[0] + 1
Run Code Online (Sandbox Code Playgroud)

输出:

     Size  Size_Numerical
0     Big               1
1  Medium               2
2   Small               3
Run Code Online (Sandbox Code Playgroud)