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

如何将值为嵌套元组列表的字典转换为Pandas DataFrame

嵌套字典转Pandas DataFrame实现方法

你可以通过列表推导式先对原始嵌套结构做扁平化处理,再直接转换为DataFrame,示例代码如下:

import pandas as pd

# 原始数据
raw_data = {
    0: [('A1', 0.0037505763997138838),
        ('A2', 0.0036963076240675245),
        ('A3', 0.0035451257931104485),
        ('A4', 0.003501467316849233),
        ('A5', 0.00343229837150675),
        ('A6', 0.0033731723637910062),
        ('A7', 0.0033713118048861465),
        ('A8', 0.003325231288305062),
        ('A9', 0.002885164987475754),
        ('A10', 0.0028834984584371797)],
    1: [('B1', 0.011094831353420088),
        ('B2', 0.009526049091086916),
        ('B3', 0.007002935827927014),
        ('B4', 0.00511673700015512),
        ('B5', 0.004870300921667765),
        ('B6', 0.004496108376557714),
        ('B7', 0.004230892962061271),
        ('B8', 0.004137434850455194),
        ('B9', 0.003958335393193675),
        ('B10', 0.0038285145788315993)]
}

# 扁平化处理原始数据
rows = []
for num, tuple_list in raw_data.items():
    for label, probs in tuple_list:
        rows.append([num, label, probs])

# 转换为DataFrame
df = pd.DataFrame(rows, columns=['num', 'label', 'probs'])

执行后得到的df就是你需要的目标格式,打印后输出如下:

num label     probs
0     0    A1  0.003751
1     0    A2  0.003696
2     0    A3  0.003545
3     0    A4  0.003501
4     0    A5  0.003432
5     0    A6  0.003373
6     0    A7  0.003371
7     0    A8  0.003325
8     0    A9  0.002885
9     0   A10  0.002883
10    1    B1  0.011095
11    1    B2  0.009526
12    1    B3  0.007003
13    1    B4  0.005117
14    1    B5  0.004870
15    1    B6  0.004496
16    1    B7  0.004231
17    1    B8  0.004137
18    1    B9  0.003958
19    1   B10  0.003829

如果需要保留完整小数精度,可以设置Pandas的浮点数显示参数:

pd.set_option('display.float_format', str)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:36:04