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

Python Pandas转换特殊结构数组 调整DataFrame行与表头格式

实现方案

你只需要先对原始嵌套数组做扁平化处理,把每行的所有单键字典合并,再生成DataFrame即可,完整代码如下:

import pandas as pd

# 你的原始数组
raw_data = [
    ['fic10', {'bulle_naif': '55'}, {'bulle_bool': '52'}, {'bulle_opt': '39'}, {'selection': '45'}, {'insertion': '20'}, {'rapide': '60'}],
    ['fic100', {'bulle_naif': '5050'}, {'bulle_bool': '5050'}, {'bulle_opt': '4816'}, {'selection': '4950'}, {'insertion': '2221'}, {'rapide': '6697'}],
    ['fic1000', {'bulle_naif': '2623195'}, {'bulle_bool': '1789209'}, {'bulle_opt': '2618499'}, {'selection': '2620905'}, {'insertion': '1535788'}, {'rapide': '1323294'}],
    ['fic10000', {'bulle_naif': '4764881010'}, {'bulle_bool': '926117379'}, {'bulle_opt': '4764749559'}, {'selection': '4764783390'}, {'insertion': '900955079'}, {'rapide': '506697139'}]
]

processed_data = []
for row in raw_data:
    # 取文件名作为第一列值
    row_dict = {"file_name": row[0]}
    # 合并该行后续所有单键字典
    for item in row[1:]:
        row_dict.update(item)
    processed_data.append(row_dict)

# 生成目标格式DataFrame
df = pd.DataFrame(processed_data)

# 可选:将数值列转换为整数类型
num_cols = ['bulle_naif', 'bulle_bool', 'bulle_opt', 'selection', 'insertion', 'rapide']
df[num_cols] = df[num_cols].astype(int)

如果你已经生成了原始格式的DataFrame(每列存储字典),可以用以下代码直接转换:

# 假设原始df的第一列列名为file_name,后续6列存储字典
# 第一步:展开所有字典列
for col in df.columns[1:]:
    df = df.join(df[col].apply(pd.Series))

# 第二步:删除原来存储字典的列
df = df.drop(columns=df.columns[1:7])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:15:04