У меня есть 5 различных возможных строковых значений в 3 столбцах, которые я хочу преобразовать в числовые значения в 3 новых столбцах.
Columns:
1_month, 6_month, 12_month
Possible Values:
High
Above Average
Average
Below Average
Low
I'd like to create 3 new columns:
1_month_int, 6_month_int, 12_month_int
Then map the numerics from the string values as:
High = 5
Above Average = 4
Average = 3
Below Average = 2
Low = 1
Я попытался скопировать столбец, затем найти и заменить значения для одногостолбец, затем, когда закончите, измените тип столбца на числовой. Это работает, но работает только для 1 столбца:
df['1_month_int'] = df['1_month']
df['1_month_int'].replace("High",5, inplace=True)
df['1_month_int'].replace("Above Average",4, inplace=True)
df['1_month_int'].replace("Average",3, inplace=True)
df['1_month_int'].replace("Below Average",2, inplace=True)
df['1_month_int'].replace("Low",1, inplace=True)
df['1_month_int'] = pandas.to_numeric(df['1_month_int'])
Я не могу заставить его работать сразу для нескольких столбцов:
df['1_month_int'] = df['1_month']
df['6_month_int'] = df['6_month']
df['12_month_int'] = df['12_month']
df[['3_month_int', '6_month_int', '12_month_int']/
.replace("High",5, inplace=True)
etc..
Я уверен, что есть лучший способ.
Я очень новичок в Пандах и пытаюсь пройти через кривую обучения тому, как думать и решать подобные проблемы.
Я был бы очень признателен за любую помощь, направленную в правильном направлении на лучшихпрактики для обработки данных, как это в Pandas.