如何将[x,y,value]格式嵌套列表转换为指定结构的DataFrame?
实现方法
你可以通过pandas的pivot透视表功能快速完成转换,步骤如下:
- 首先导入依赖库、定义给定的嵌套列表
import pandas as pd lst = [[1, 1, 10], [1, 2, 28.6], [1, 3, 26.93], [1, 4, 20], [2, 1, 6], [2, 2, 4], [2, 3, 6], [2, 4, 23], [3, 1, 12], [3, 2, 23], [3, 3, 13], [3, 4, 43]]
- 先将嵌套列表转为长格式DataFrame,再通过透视得到目标结构
# 生成长表 df_long = pd.DataFrame(lst, columns=["x", "y", "value"]) # 透视转换为宽表,指定行索引、列名、填充值 mydata_frame = df_long.pivot(index="y", columns="x", values="value") # 可选:去掉索引和列的默认名称,和你给出的预期输出格式完全对齐 mydata_frame.index.name = None mydata_frame.columns.name = None
- 输出验证
打印mydata_frame即可得到你需要的结果:
1 2 3 1 10.00 6.0 12 2 28.60 4.0 23 3 26.93 6.0 13 4 20.00 23.0 43
如果需要保留部分列的整数类型,可以单独指定对应列的dtype,不会影响整体结构的正确性。
内容的提问来源于stack exchange,提问作者jeny ericsoon
相关产品推荐
相关产品推荐

