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

如何在Python中同时遍历多数组创建表格的id关联分数列?

大行数下按索引聚合数组的解决方案

针对大行数场景下直接用zip遍历效率低甚至内存溢出的问题,推荐用pandas矢量化操作+分块处理的方案,高效适配大数据量:

核心思路

因为每行的ids数组内容固定,我们可以先把scores数组按索引拆分成独立列,再按索引位置收集所有行的对应分数,最后和对应的id关联。

代码实现(常规数据量)

import pandas as pd

# 1. 加载原始数据(实际可从CSV/Excel读取)
data = {
    "ids": [[0,1,22,56,204]]*7,
    "scores": [
        [0.98, 0.56, 0.078, 0.23, 1.45],
        [0.68, 0.666, 3.56, 5.6, 0.078],
        [0.665, 0.298, 4.66, 0.0004, 0.45],
        [5.34, 1.34, 4.34, 0.23, 0.90],
        [0.009, 0.45, 1.22, 5.67, 2.23],
        [0.56, 0.67, 5.56, 1.64, 0.088],
        [0.34, 0.934, 3.42, 3.33, 0.40]
    ]
}
df = pd.DataFrame(data)

# 2. 拆分scores数组为独立列
scores_df = pd.DataFrame(df["scores"].tolist(), columns=[f"score_{i}" for i in range(5)])

# 3. 按索引聚合分数,关联对应id
result = []
# 所有行的ids一致,直接取第一行的ids列表
target_ids = df["ids"].iloc[0]
for idx, id_val in enumerate(target_ids):
    # 收集所有行中该索引的分数
    score_list = scores_df[f"score_{idx}"].tolist()
    result.append({"id": id_val, "id_wise_scores": score_list})

# 转成结果表格
result_df = pd.DataFrame(result)
print(result_df)

超大数据量适配(分块读取)

如果数据行数达到百万级以上,用分块读取避免内存占满:

import pandas as pd

# 预先定义要收集的id(和原始数据的ids数组一致)
target_ids = [0,1,22,56,204]
# 初始化每个id对应的分数列表
score_dict = {id_val: [] for id_val in target_ids}

# 分块读取数据,chunk_size根据内存调整
chunk_size = 10000
for chunk in pd.read_csv("your_data_file.csv", chunksize=chunk_size):
    # 拆分当前块的scores数组为列
    chunk_scores = pd.DataFrame(chunk["scores"].tolist(), columns=[f"score_{i}" for i in range(5)])
    # 遍历每个索引,追加分数到对应id的列表
    for idx, id_val in enumerate(target_ids):
        score_dict[id_val].extend(chunk_scores[f"score_{idx}"].tolist())

# 生成结果表格
result_df = pd.DataFrame([{"id": k, "id_wise_scores": v} for k, v in score_dict.items()])

结果验证

运行后得到的result_df就是你需要的格式:

idid_wise_scores
0[0.98, 0.68, 0.665, 5.34, 0.009, 0.56, 0.34]
1[0.56, 0.666, 0.298, 1.34, 0.45, 0.67, 0.934]
22[0.078, 3.56, 4.66, 4.34, 1.22, 5.56, 3.42 ]
56[0.23, 5.6, 0.0004, 0.23, 5.67, 1.64, 3.33]
204[1.45, 0.078, 0.45, 0.90, 2.23, 0.088, 0.40]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:43:15