Фрейм данных 1
cust_id1 cust_id2
23 50
23 51
23 52
24 32
25 40
25 41
Фрейм данных 2
cust_id
50
51
52
32
40
ДЛЯ КАЖДОГО cust_id1, проверьте, является ли cust_id2 фрейма данных 1 присутствует в cust_id кадра данных 2. ЕСЛИ ДА, ЗАТЕМ создайте новый кадр данных. Кроме того, я также хотел бы добавить новое количество столбцов для cust_id2
Ожидаемый результат в новом фрейме данных 3
cust_id1 cust_id2 count_cust_id2
23 50 1
23 51 1
23 52 1
24 32 1
25 40 1
Это это то, что я пробовал
uniq = df1['cust_id1'].dropna().unique()
cust_id_grouped = df1.groupby(['cust_id1'], as_index = False)
for i in uniq:
all_groups = cust_id_grouped.get_group(i)
count_cust_id2 = 0
for index, row in all_groups.iterrows():
if (row.cust_id1.isin(df2. cust_id)):
count_cust_id2 = count_cust_id2 + 1
Часть 2 В дополнение к вышеуказанным фреймам данных у меня есть аналогичные фреймы данных.
cust_id1 cust_id2
23 50
23 51
23 52
24 32
25 40
25 41
26 50
Dataframe 5
cust_id
50
51
52
32
40
41
50
Ожидаемый результат должен обновить кадр данных 3,
cust_id1 cust_id2 count_cust_id2
23 50 2
23 51 2
23 52 2
24 32 2
25 40 2
25 41 1
26 50 1
У меня есть несколько таких фреймов данных, и каждая из этих групп (df1-df2) и (df4-df5) представляет один месяц. Подсчет фактически за месяц.