Pandas中如何将嵌套字典转换为矩阵格式宽表DataFrame
实现方法
你可以根据当前数据处理阶段选择对应方案:
- 方案1(推荐,效率最高):直接从原始
time对象生成,无需先转长表
你的time是长度为1的列表,内部存储的是键为(行号,列号)元组的字典,直接构造Series后调用unstack即可一步得到目标矩阵:import pandas as pd # 取出列表内的字典,转成Series后将内层行索引旋转为列 df = pd.Series(time[0]).unstack() - 方案2:基于你已经生成的双层行索引长表转换
如果你已经得到了长表格式的df,直接对Time列执行unstack即可:df_result = df['Time'].unstack()
原理说明
当元组作为pandas Series的索引键时,会被自动解析为多层索引(MultiIndex),unstack()方法默认会把最内层的行索引转换为列索引,刚好匹配你需要的行、列索引均为0-4的5×5矩阵结构,对角线的0值也会和原始数据完全对应。
内容的提问来源于stack exchange,提问作者Cliff Njoroge
相关产品推荐
相关产品推荐

