Имея большое DataFrame
следующим образом:
userid user_mentions
1 [2, 3, 4]
1 [3]
2 NaN
2 [1,3]
3 [1,4,5]
3 [4]
Столбцы user_mentions
представляют собой список userid
с, которые были упомянуты каждым пользователем. Например, первая строка означает:
пользователь 1 упомянул пользователей 2, 3 и 4.
Мне нужно создать сеть упоминаний среди пользователей в столбце userid
. То есть я хочу, чтобы число раз, когда каждый пользователь в столбце userid
упоминалось другими пользователями в столбце userid
. В общем, сначала мне нужно что-то вроде этого:
filtered = df[df['user_mentions'].isin(df['userid'].unique())]
Но это не работает для столбца списков.
Если я решу вышеуказанную проблему, тогда смогу groupby['userid','user_mentions']
.
РЕДАКТИРОВАТЬ
Окончательный результат должен быть:
Source Target Number
1 2 1
1 3 2
2 1 1
2 3 1
3 1 1
3 5 1