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

基于Numpy数组的ID邮件发送权重矩阵构建需求

构建邮件发送权重矩阵的实现方法

给定记录发送ID与接收ID的Numpy数组,我们需要生成一个权重矩阵:矩阵的行和列覆盖所有唯一ID,对角线表示ID自身的计数(初始为1),其余位置对应发送ID到接收ID的邮件发送次数。

实现步骤

  • 整理所有唯一ID,建立ID到矩阵索引的映射关系
  • 初始化一个对角线元素为1的矩阵作为基础
  • 遍历输入的邮件记录,累加对应发送-接收对的次数

代码示例

import numpy as np

# 输入的邮件发送记录Numpy数组
data = np.array([[24, 131], [24, 18], [80, 89]])

# 按需求整理唯一ID的顺序(可根据实际场景调整排序规则)
unique_ids = [24, 18, 80, 89, 131]

# 创建ID到矩阵索引的映射字典
id_to_idx = {id_val: idx for idx, id_val in enumerate(unique_ids)}

# 初始化权重矩阵,对角线元素设为1
matrix_dim = len(unique_ids)
weight_matrix = np.eye(matrix_dim, dtype=int)

# 遍历每条记录,更新权重矩阵
for sender, receiver in data:
    weight_matrix[id_to_idx[sender], id_to_idx[receiver]] += 1

# 按示例格式输出结果
print("    " + ", ".join(map(str, unique_ids)))
for idx, id_val in enumerate(unique_ids):
    row_str = ", ".join(map(str, weight_matrix[idx]))
    print(f"{id_val}[{row_str}]")

运行结果

24, 18, 80, 89, 131
24[1, 1, 0, 0, 1]
18[0, 1, 0, 0, 0]
80[0, 0, 1, 1, 0]
89[0, 0, 0, 1, 0]
131[0, 0, 0, 0, 1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:25:33