我的pandas数据框中的列具有以下值之一[优秀,良好,平均,差,非常糟糕]。我想在同一个数据帧中创建一个列,每个[优秀,好,平均,坏,非常糟糕]分别转换为[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'}