python - 在熊猫中创建列的编码列
问题描述
我的 pandas 数据框中的一列具有以下值之一 [优秀、好、平均、差、非常差]。我想在同一个数据框中创建一个列,每个[excellent, good, average, bad, very bad]分别转换为[EX, G, Avg, B, VB]。
我搜索了它,但大多数答案都是使用我不太熟悉的 scikit-learn 解释的。有没有办法使用熊猫来完成?
解决方案
使用map
由dict
创建zip
:
L1 = ['excellent', 'good', 'average', 'bad', 'very bad']
L2 = ['EX', 'G', 'Avg', 'B', 'VB']
df['col'] = df['col'].map(dict(zip(L1, L2)))
详情:
print (dict(zip(L1, L2)))
{'excellent': 'EX', 'good': 'G', 'average': 'Avg', 'bad': 'B', 'very bad': 'VB'}
推荐阅读
- reactjs - 代码拆分 - 主包具有相同的大小,有和没有拆分成块
- r - 单击地图上的标记以在 R 闪亮上显示 2 个 ggplot 图表
- c# - 替换鼠标操作后,每个其他窗口都会冻结 - c#
- c# - Android 应用程序:在 Unity 中使用 WCF
- maven - 与 maven-rpm-plugin 共享常用脚本函数
- opencv - opencv透视变换然后一步顺时针旋转90度
- java - 是否应该使用 HTTP 代码来表示业务失败?
- c - 关于生成可能的有序对并找到对的二进制操作的最大值的代码
- xquery - XQuery - 用文本值替换空元素(输出到 HTML)
- android - 为 Amazon Fire HD 7 设置 Cordova