如果您知道评级将遵循某种模式(即XXX、XX、XX、X+),您可以执行以下操作:
import pandas as pd
import itertools
import string
# df with dummy data
df = pd.DataFrame(['AAA', 'AA', 'A', 'A+', 'BBB', 'BB', 'B', 'B+'], columns=['Ratings'])
# collect ratings and assign a decreasing value to them
ratings = [[letter*3, letter*2, letter, letter+'+'] for letter in string.ascii_uppercase] # create all possible ratings in order
ratings = list(itertools.chain.from_iterable(ratings)) # flatten list
ratings_code = dict(zip(ratings, reversed(range(len(ratings)))))
# map rating code to original rating
df['RatingCode'] = df.Ratings.map(ratings_code)
取决于您对产品范围的期望
RatingCode
,你需要调整
reversed(range(len(ratings)))