Есть ли способ повторить распределение значений на основе подсчетов Pandas GroupBy между двумя кадрами данных?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли способ повторить распределение значений на основе подсчетов Pandas GroupBy между двумя кадрами данных?

Сообщение Anonymous »

У меня есть два кадра данных Pandas с одинаковой структурой, но разной формы и значений:

Код: Выделить всё

import pandas as pd

dataframe_1 = pd.DataFrame({'customer_id': ['id1', 'id2', 'id3', 'id4', 'id5', 'id6'],
'gender': ['M', 'M', 'F', 'F', 'F', 'F'],
'age': ['18-25', '25-40', '18-25', '18-25', '60+', '18-25'],
'region': ['America', 'Africa', 'America', 'Asia', 'Europe', 'Asia']})

dataframe_2 = pd.DataFrame({'customer_id': ['id11', 'id12', 'id13', 'id14', 'id15', 'id16', 'id17', 'id18', 'id19', 'id20', 'id21'],
'gender': ['M', 'M', 'F', 'F', 'F', 'M', 'M', 'M', 'F', 'M', 'F'],
'age': ['18-25', '25-40', '18-25', '18-25', '60+', '18-25', '25-40', '60+', '18-25', '60+', '18-25'],
'region': ['America', 'Africa', 'America', 'Asia', 'Europe', 'Europe', 'Africa', 'Australia', 'Asia', 'Europe', 'Asia']})
Я выполнил GroupBy для dataframe_1, чтобы подсчитать количество клиентов в каждой группе, и получил распределение в форме dataframe:

Код: Выделить всё

pd.DataFrame(dataframe_1.groupby(['gender', 'age', 'region'])['customer_id'].count()).reset_index
Вывод:

Код: Выделить всё

    gender  age     region  customer_id
0   F       18-25   America 1
1   F       18-25   Asia    2
2   F       60+     Europe  1
3   M       18-25   America 1
4   M       25-40   Africa  1
Есть ли способ применить это распределение к dataframe_2, чтобы получить отдельные идентификаторы клиентов с совпадающими параметрами?
Итак, в случае строки 0 ([' F', '18-25', 'Америка']), это будет единственный вариант datframe_2, id13.
В случае строки 1 (['F', '18 -25', 'Азия']), это будут любые два уникальных идентификатора из [id_14, id_19, id_21] и т.д.
P.S. Чтобы добавить некоторый контекст, я пытаюсь создать группу A на основе распределения значений в группе B, чтобы оценить результаты AB-теста. Я понимаю, как это звучит, но именно это мне и было поручено.

Подробнее здесь: https://stackoverflow.com/questions/788 ... upbys-coun
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»