Скажем, у меня есть фрейм данных, который дает число Fruit
в двух чашах A
и B
, которое выглядит так:
df = pd.DataFrame({'Fruit':['apple','apple','pear','pear','banana','banana'],
'Bowl': ['A','B','A','B','A','B'],
'Value':[15, 20, 332, 240, 344, 211]}); df
Fruit Bowl Value
apple A 15
apple B 20
pear A 332
pear B 240
banana A 311
banana B 211
И у меня есть общее количество фруктовв чашах "A" и "B".
num = pd.DataFrame({'Bowl': ['A','B'], 'Num': [330, 200]}); num
Num Type
330 A
200 B
Какой элегантный способ получить процентное соотношение (пропорция * 100, Prop
) фруктов внутри каждого типа в каждой чаше, используя num
?
Fruit Bowl Value Prop
apple A 15 4.55
apple B 20 ...
pear A 332
pear B 240
banana A 45
banana B 27
Таким образом, расчет в Prop
является, например, (количество яблок в миске A (15), деленное на общее количество фруктов в миске A (330) * 100 = 4,55.)
** Обратите внимание, что общее количество фруктов не является суммой яблоко + груша + банан в миске «А».Вы должны использовать числа, указанные в num
, потому что на самом деле в чаше больше фруктов.