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

如何将含键值对的嵌套列表转换为Python的Pandas DataFrame?

生成对齐列的DataFrame解决方法

给定嵌套列表a,每个子列表元素为「列名=值」格式的字符串,直接用pd.DataFrame(a)会因缺失值导致列混乱,需生成包含id、value1、value2三列且缺失值显示为NaN的DataFrame,可按以下步骤处理:

解决方案代码

import pandas as pd

a = [["id = abc12", "value1=2.3", "value2=3.4"],["id = abcd4", "value1=4.6", "value2=3.45"],
     ["id = abr42", "value1=6.2", "value2=6.1"], ["id = abyt5",  "value2=1.06"],
     ["id = abndf1", "value1=3.21", "value2=8.65"],["id = abuz2", "value1=0.9", "value2=6.89"]]

# 将每个子列表转换为键值对字典
processed_rows = []
for row in a:
    row_data = {}
    for item in row:
        # 分割列名与值,去除多余空格
        key, value = item.split('=')
        key = key.strip()
        value = value.strip()
        # 自动转换数值列类型
        if key in ('value1', 'value2'):
            value = float(value)
        row_data[key] = value
    processed_rows.append(row_data)

# 生成标准DataFrame
result_df = pd.DataFrame(processed_rows)
print(result_df)

输出结果

id  value1  value2
0   abc12     2.30    3.40
1   abcd4     4.60    3.45
2   abr42     6.20    6.10
3   abyt5      NaN    1.06
4  abndf1     3.21    8.65
5   abuz2     0.90    6.89

说明

  • 核心思路是将每个子列表转为字典,利用字典的键对应列名,缺失的键会被pandas自动填充为NaN(即需求中的null/na);
  • 额外处理了数值类型转换,避免value1和value2以字符串形式存储,保证数据类型正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 06:45:12