Найдите процент от набора значений во фрейме данных

#python #dataframe

Вопрос:

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

 business_id FP count  business_1 1 20 business_1 0 100 business_2 0 50  

Я хочу рассчитать процент для каждого business_id, имеющего FP=1. В принципе, мне нужно значение, равное count(где business_id=некоторый идентификатор и FP=1)/count(где business_id=одинаковый идентификатор и FP=0)

Ответ №1:

если значение всегда lt;1gt; , мои быстрые 2 цента будут:

Учитывая следующий фрейм данных:

 df = pd.DataFrame([  ['business_1', 1, 20],  ['business_1', 0, 100],  ['business_2', 0, 50], ], columns=['business_id', 'FP', 'count'])  

Рассчитайте проценты и верните их в виде диктанта с:

 percentages = df.groupby('business_id').agg({  'FP': ['count', 'sum'] }) (percentages[('FP', 'sum')] / percentages[('FP', 'count')]).to_dict()  

Комментарии:

1. @Дивья Хиани — это помогло?

2. с небольшими изменениями я смог добиться того, чего хотел. Спасибо!