def extract_groups(m2m):
"""Extracts a list of groups from a social network varying through time.
Groups are defined as connected components of the social graph at a given
time bin.
Parameters
----------
m2m : pd.DataFrame
The social network, for instance, member-to-member bluetooth proximity
data. It must have the following columns: 'datetime', 'member1', and
'member2'.
Returns
-------
pd.DataFrame :
The groups, as a sets of members with datetime.
"""
groups = m2m.groupby('datetime').apply(
lambda df:
pd.Series([frozenset(c) for c in nx.connected_components(nx.from_pandas_dataframe(df.reset_index(), 'member1', 'member2'))])
)
groups.name = 'members'
return groups.reset_index()[['datetime', 'members']]
gatherings_cores.py 文件源码
python
阅读 27
收藏 0
点赞 0
评论 0
评论列表
文章目录