Python如何将嵌套字典列表按series拆分生成对应列的DataFrame
实现方案
你可以通过字典推导式把每个内层列表转换为字段映射字典,再直接传入pandas的DataFrame构造函数即可,代码如下:
import pandas as pd # 原始嵌套列表数据 raw_data = [[{'contributionScore': 0.841473400592804, 'variable': 'series_2'}, {'contributionScore': 0.6113986968994141, 'variable': 'series_3'}, {'contributionScore': 0.5985525250434875, 'variable': 'series_1'}, {'contributionScore': 0.5641148686408997, 'variable': 'series_4'}, {'contributionScore': 0.138543963432312, 'variable': 'series_0'}], [{'contributionScore': 1.1316605806350708, 'variable': 'series_1'}, {'contributionScore': 0.5188271403312683, 'variable': 'series_4'}, {'contributionScore': 0.38711458444595337, 'variable': 'series_3'}, {'contributionScore': 0.35055238008499146, 'variable': 'series_0'}, {'contributionScore': 0.06044715642929077, 'variable': 'series_2'}]] # 逐行处理为符合DataFrame输入要求的字典结构 row_list = [{item['variable']: item['contributionScore'] for item in row} for row in raw_data] # 生成目标DataFrame df = pd.DataFrame(row_list)
输出结果
最终得到的DataFrame结构如下:
| series_0 | series_1 | series_2 | series_3 | series_4 |
|---|---|---|---|---|
| 0.138544 | 0.598553 | 0.841473 | 0.611399 | 0.564115 |
| 0.350552 | 1.131661 | 0.060447 | 0.387115 | 0.518827 |
内容的提问来源于stack exchange,提问作者luca canonico
相关产品推荐
相关产品推荐

