Мой оригинальный фрейм данных выглядит следующим образом. Это первые 5 строк:
Date Id Earned Redeemed Type
0 2019-01-01 00:01:18.599 69 1000 0 REGULAR
1 2019-01-01 00:04:25.287 69 1000 0 REGULAR
2 2019-01-01 00:18:21.688 70 1000 0 REGULAR
3 2019-01-01 00:29:14.709 71 1000 0 VIP
4 2019-01-01 00:30:26.460 69 0 1000 REGULAR
У меня также есть словарь, который выглядит следующим образом:
dict = {
'69': {'REGULAR': 5, 'VIP': 10},
'70': {'REGULAR': 10},
'71': {'REGULAR': 1, 'VIP': 2}
}
Я хотел бы создать новый кадр данных, который выглядит следующим образом:
Date Id Earned Redeemed Type Earned_Normal
0 2019-01-01 00:01:18.599 69 1000 0 REGULAR 200
1 2019-01-01 00:04:25.287 69 1000 0 REGULAR 200
2 2019-01-01 00:18:21.688 70 1000 0 REGULAR 100
3 2019-01-01 00:29:14.709 71 1000 0 VIP 500
4 2019-01-01 00:30:26.460 69 0 1000 REGULAR 0
Значения в столбце «Id» и «Тип» используются в качестве ключей в словаре, который возвращает коэффициент, например, id: 69 и тип: REGULAR возвращает 5.
Поэтому при index 0, Earned_Normal = Earned / 5 = 200.
Я выяснил, как это сделать на определенном c уровне строки, как мне сделать это динамически для всех строк?
Любая помощь приветствуется!