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

将含pid、idx、value列的DataFrame转换为指定字典的技术求助

解决方法

步骤说明

  1. 分组打包元组:按pid列对DataFrame分组,将每组的idx和value对应元素打包成元组,再组合成数组
  2. 转换为字典:将分组结果直接转为以pid为键、元组数组为值的字典
  3. 格式化输出:遍历字典,按指定格式拼接字符串并打印

代码实现

import pandas as pd

# 示例DataFrame(可替换为你的实际数据)
df = pd.DataFrame({
    'pid': [1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1],
    'idx': [2, 3, 10, 2000, 4, 78, 1009, 33, 34, 1000, 3300, 34, 389],
    'value': [0.5, 0.12, 0.9, 0.3, 1.0, 0.6, 0.2, 0.1, 0.98, 0.8, 0.2, 0.1, 0.32]
})

# 生成目标字典
pid_dict = df.groupby('pid').apply(lambda x: list(zip(x['idx'], x['value']))).to_dict()

# 按要求格式输出
for pid, tuples_list in pid_dict.items():
    output_parts = [str(pid)] + [f"{idx}:{val}" for idx, val in tuples_list]
    print(' '.join(output_parts))

补充说明

  • 如果需要控制浮点数的显示精度(比如保留两位小数),可以把格式化字符串改成f"{idx}:{val:.2f}"
  • 若你的DataFrame存在缺失值,可先通过df.dropna(subset=['pid', 'idx', 'value'])清理无效数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 01:33:19