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

如何将dict[tuple[str, str], list[float]]转换为Pandas DataFrame

将二元组键的字典转换为Pandas DataFrame

你手里这种键是二元组、值为浮点列表的字典,完全不需要用split函数处理,直接用Pandas的内置方法就能快速转成目标DataFrame,下面给两种实用方法:

方法一:直接解构键值对构造

直接遍历字典的键值对,把二元组拆成两列,列表里的数值拆成对应列,一步到位:

import pandas as pd

# 你的示例数据
raw_data = {('A','B'): [-0.008035100996494293, 0.008541940711438656]}

# 解构键和值,生成DataFrame
df = pd.DataFrame(
    [(key1, key2, val1, val2) for (key1, key2), [val1, val2] in raw_data.items()],
    columns=['列1', '列2', '数值1', '数值2']  # 可自定义列名
)

执行后得到的DataFrame样式:

列1列2数值1数值2
AB-0.0080351009964942930.008541940711438656

方法二:先转Series再扩展列

如果字典值的列表长度固定但不确定数量,这种方法更灵活:

import pandas as pd

raw_data = {('A','B'): [-0.008035100996494293, 0.008541940711438656]}

# 先转成Series,重置索引拿到键的两列
s = pd.Series(raw_data)
df = s.reset_index()
df.columns = ['列1', '列2', '数值列表']

# 把数值列表拆分成单独列
df[['数值1', '数值2']] = pd.DataFrame(df['数值列表'].tolist())
# 删除临时的数值列表列
df = df.drop('数值列表', axis=1)

这种方法能自动适配所有长度一致的数值列表,无需手动写解构变量名。

补充说明

split函数是用来分割字符串的,你的数据里没有需要拆分的字符串,用它完全是绕远路,直接解构元组和列表才是最直接的处理方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 23:18:31