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

如何从结构固定的Python字典构建指定格式的Pandas DataFrame

问题解答

可以基于该固定结构字典构建出目标格式的DataFrame,实现思路与可运行代码如下:


实现逻辑

  • 首先提取字典中Type 1 Result对应的长字符串,按固定结构拆分元素:

    字符串前7个连续带单位的字段为DataFrame列名:CO (mg/km)、THC (mg/km)、NMHC (mg/km)、NOX (mg/km)、THC + NOX (mg/km)、PM (mg/km)、PN (#.1011/km)
    后续内容按固定的8个行索引拆分,每个行索引后跟随的7个值对应该行各列的取值,固定行索引列表不会随数值变动改变

  • 对拆分出的取值做标准化处理,将-、(11)、(12)、N/A统一替换为Pandas可识别的空值pd.NA
  • 最后将处理好的行数据、行索引、列名组合生成DataFrame即可

可运行示例代码

import pandas as pd

# 原始字典
d1 = {'Type 1 Result': 'CO (mg/km) THC (mg/km) NMHC (mg/km) NOX (mg/km) THC + NOX (mg/km) PM (mg/km) PN (#.1011/km)  Measured(8) (9)  104.70  21.00  -  9.20  -  0.20  0.03 Ki x (8) (10) - - - - (11) - - Ki + (8) (10) 2.9541 0.1158 - 1.9789 (11) 0.0265 N/A Mean value calculated with Ki (M x Ki) or M+Ki) (9)   107.65   21.12   -   11.18   (12)   0.23   0.03 DF (+) (8) (10) 58.5770 - - 10.0990 5.0210 0.0000 0.0000 DF (x) (8) (10) - - - - - - - Final mean value calculated with Ki and DF (13)  166.2  21.1  -  21.3  37.3  0.23  0.03 Limit value 500 N/A N/A 80 170 4.5 6.0'}

# 拆分长字符串并过滤空值
content_list = [item for item in d1['Type 1 Result'].split() if item]
# 提取列名
columns = content_list[:7]
# 预定义固定行索引
fixed_row_index = [
    'Measured(8) (9)',
    'Ki x (8) (10)',
    'Ki + (8) (10)',
    'Mean value calculated with Ki (M x Ki) or M+Ki) (9)',
    'DF (+) (8) (10)',
    'DF (x) (8) (10)',
    'Final mean value calculated with Ki and DF (13)',
    'Limit value'
]

# 逐行提取数值
row_values = []
current_pos = 7
for index_name in fixed_row_index:
    # 跳过行索引对应的字符数
    index_len = len(index_name.split())
    current_pos += index_len
    # 提取当前行的7个数值
    current_values = content_list[current_pos:current_pos+7]
    row_values.append(current_values)
    current_pos +=7

# 生成DataFrame并替换空值标识
df = pd.DataFrame(row_values, index=fixed_row_index, columns=columns)
df = df.replace(['-', '(11)', '(12)', 'N/A'], pd.NA)

# 输出查看结果
print(df)

运行代码后得到的DataFrame完全匹配目标格式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:24:05