#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. с небольшими изменениями я смог добиться того, чего хотел. Спасибо!