我的pandas数据框中的列具有以下值之一[优秀,良好,平均,差,非常糟糕]。我想在同一个数据框架中创建一个列, [优秀,良好,平均,差,非常糟糕] 转换为 [EX ,G,Avg,B,VB] 。
我搜索了它,但大多数答案是使用我不太熟悉的scikit-learn来解释的。有没有办法可以用pandas来完成?
答案 0 :(得分:3)
使用dict
创建的zip
使用map
:
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'}