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

具体来说,目前使用pandas.get_dummies时,它 for each 选项提供了一列:

Size Size_Big Size_Medium Size_Small
Big 1 0 0
Medium 0 1 0
Small 0 0 1

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

Size Size_Numerical
Big 1
Medium 2
Small 3

推荐答案

你不需要假人,你需要因子/类别.

使用pandas.factorize:

df['Size_Numerical'] = pd.factorize(df['Size'])[0] + 1

输出:

     Size  Size_Numerical
0     Big               1
1  Medium               2
2   Small               3

Python相关问答推荐

python sklearn ValueError:使用序列设置数组元素

在Django中重命名我的表后,旧表中的项目不会被移动或删除

当HTTP 201响应包含 Big Data 的POST请求时,应该是什么?  

裁剪数字.nd数组引发-ValueError:无法将空图像写入JPEG

PYTHON中的selenium不会打开 chromium URL

Django更新视图未更新

GEKKO中若干参数的线性插值动态优化

排除NRRD文件中的多切片卷加载问题

在PySpark中,可以从数组中获取任意数量的元素吗?

Pandas 修正滚动平均

如何在pandas DataFrame列中保持一个只增加的数字序列?

TypeError:无法实例化抽象模型(Django)

是否可以在dash-cytoscape中使用宽度优先布局中的epthSort参数?

向NumPy数组添加字符串

删除一个元素后,在这个最长的1子数组中出现了什么问题

生成错误结果的DataFrame.groupby.ank?

新进程不会在运行FastApi的Docker中启动

NetCDF:使用MSWEP再分析数据集计算沿所有坐标的年降水量总和

如何分组并查找新的或正在消失的项目

为什么我不能在Sphinxcontrib-HttpExample中使用python来换行JSON属性?