Я пытаюсь создать переменную, основанную на количестве лет и оценке контракта. Эта таблица двойной записи содержит две основные переменные:
Ожидаемый результат:
Мне нужно сделать то же самое с этой базой данных:
import pandas as pd
df = pd.DataFrame({'id':[80887618
,80887619
,80887620
,80887621
],
'years': [9,
1,
5,
12
],
'scoring': [9.3
,9.2
,9.1
,9.3
]
})
IIUC, вы unstack
фрейм данных с процентами, а затем объединяете его в df
:
percentages = (
percentages.set_index("scoring")
.unstack()
.reset_index(name = "data")
.rename(columns = {"level_0": "years"})
)
df = df.merge(percentages, how = "left")
id years scoring data
0 80887618 9 9.3 0.1562273%
1 80887619 1 9.2 0.0102%
2 80887620 5 9.1 0.0835863%
3 80887621 12 9.3 NaN