You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pandas查找各分组间的关联关系用于构建网络

分组关联度计算实现

核心逻辑

两个分组存在相同元素即判定为关联,频率为两个分组的共同去重元素数量,最终输出无重复的分组关联表用于网络构建。

实现代码

import pandas as pd

# 构造示例数据,实际使用时替换为自己的DataFrame即可
df = pd.DataFrame({
    'group_number': [1,2,2,2,2,3,4,4],
    'data': ['a','a','b','c','a','c','a','c']
})

# 1. 去重:每个分组下相同元素仅保留1条,避免重复计数
df_unique = df.drop_duplicates(subset=['group_number', 'data'])

# 2. 自连接匹配相同元素对应的所有分组组合
df_merge = df_unique.merge(df_unique, on='data', suffixes=('_source', '_target'))

# 3. 过滤:移除同组自关联,且仅保留source分组编号大于target的组合,避免出现(1,2)和(2,1)重复记录
df_filter = df_merge[df_merge['group_number_source'] > df_merge['group_number_target']]

# 4. 统计每个分组对的共同元素数量,重命名列后输出
result = df_filter.groupby(['group_number_source', 'group_number_target'], as_index=False)['data'].count()
result.columns = ['Source_group', 'Target_group', 'Frequency']

print(result)

注:如果需要调整分组对的前后顺序,只需修改第三步过滤条件中的比较符即可。

输出结果

完全符合预期格式:

Source_group  Target_group  Frequency
0             2             1          1
1             3             2          1
2             4             2          2

内容的提问来源于stack exchange,提问作者whoiswho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 10:06:03