首页 > 解决方案 > 在熊猫中创建列的编码列

问题描述

我的 pandas 数据框中的一列具有以下值之一 [优秀、好、平均、差、非常差]。我想在同一个数据框中创建一个列,每个[excellent, good, average, bad, very bad]分别转换为[EX, G, Avg, B, VB]

我搜索了它,但大多数答案都是使用我不太熟悉的 scikit-learn 解释的。有没有办法使用熊猫来完成?

标签: pythonpandasdataframe

解决方案


使用mapdict创建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'}

推荐阅读