Код: Выделить всё
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']})
Код: Выделить всё
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
Итак, в случае строки 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