Присвоить числа значениям строк в кадре данных

1

скажем, у меня есть фрейм данных

A     B     C
john  I     agree 
ryan  II    agree
rose  V     strongly agree 
Shawn VI    disagree 

что я хочу сделать, это присвоить числа значениям столбца C, как это?

A     B     C
john  I     1 
ryan  II    1
rose  V     2
Shawn VI    0

Кто-нибудь знает, как это сделать?

Теги:
pandas
loops

2 ответа

3
Лучший ответ

Использовать map по dictionary:

df['C'] = df['C'].map({'agree':1, 'strongly agree':2, 'disagree':0})
print (df)
       A   B  C
0   john   I  1
1   ryan  II  1
2   rose   V  2
3  Shawn  VI  0
0

Вы можете также применять apply и lambda

        A               C
0  john           agree
1  ryan  strongly agree
2  rose        disagree

Просто делать

df_t['C'] = df_t['C'].apply(lambda x: 1 if x =='agree' else (0 if x=='disagree' else 2))

что приводит к

     A  C
0  john  1
1  ryan  2
2  rose  0

Но наилучшим решением является использование map как указано выше @jezrael.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню