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

将Pandas DataFrame转换为指定格式字典并将列名重命名为1-100

解决方案:将Pandas DataFrame转换为指定格式字典并重命名列名

步骤1:重命名列名

假设你的DataFrame名为df,其中第0列是包含DC-Vienna这类标签的列,剩余100列需要重命名为1到100。执行以下代码:

# 保留第0列的原始列名,将其余100列重命名为1-100
df.columns = [df.columns[0]] + list(range(1, 101))

步骤2:转换为目标格式字典

推荐使用set_index+stack的方法,效率更高且代码简洁:

# 将第0列设置为索引
df.set_index(df.columns[0], inplace=True)
# 堆叠列与索引,生成多级索引的Series,再直接转为字典
result_dict = df.stack().to_dict()

示例验证

如果你的原始DataFrame是这样的小样本:

DCCol1Col2
DC-Vienna883110174
DC-Valencia30122276

执行上述代码后,result_dict会输出:

{(1, 'DC-Vienna'): 8831, (2, 'DC-Vienna'): 10174, (1, 'DC-Valencia'): 3012, (2, 'DC-Valencia'): 2276}

补充说明

  • 如果不想修改原DataFrame,可以添加copy()避免原地修改:
    processed_df = df.copy()
    processed_df.columns = [processed_df.columns[0]] + list(range(1, 101))
    processed_df.set_index(processed_df.columns[0], inplace=True)
    result_dict = processed_df.stack().to_dict()
    
  • stack()方法会把列标签转为索引的第二层级,最终多级索引的元组就正好是你需要的键格式,to_dict()直接将多级索引映射为对应的值。

内容的提问来源于stack exchange,提问作者Hans.nl

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 13:50:34