如何将Python坐标嵌套列表拆分为独立的Pandas DataFrame列
实现方法
你这个场景完全不需要使用.explode()方法,Pandas的DataFrame构造函数原生支持这种等长二维嵌套列表作为输入,直接指定列名即可一步得到目标结果:
import pandas as pd sampled_list = [ [100, 5], [200, 1], [300, 2], [400, 3], [500, 9] ] df = pd.DataFrame(sampled_list, columns=["X", "Y"])
运行后输出的df完全匹配你要的结构:
X Y 0 100 5 1 200 1 2 300 2 3 400 3 4 500 9
为什么用.explode()会出问题
.explode()的作用是将单元格内存储的可迭代对象拆分为多行,适合处理单元格内嵌列表的非规整数据,你当前的输入本身就是结构化的二维坐标列表,属于DataFrame构造器的标准输入格式,硬套explode逻辑反而会额外生成多层索引,属于用错了方法。
如果后续你遇到嵌套列表被存为单列Series的场景,也可以用索引取数的方式生成列,不需要explode:
# 嵌套列表存为Series时的处理方式 coord_series = pd.Series(sampled_list) df = pd.DataFrame({ "X": coord_series.str[0], "Y": coord_series.str[1] })
内容的提问来源于stack exchange,提问作者Marioanzas
相关产品推荐
相关产品推荐

