将列表嵌套列表嵌套元组转换为DataFrame的正确方法是什么?
嵌套列表转DataFrame的方法
针对你给出的嵌套列表结构,有两种简洁的方法可以转换成目标DataFrame:
方法1:字典推导式构造
利用每个子列表中的元组是(列名, 值)的结构,将每个子列表转为字典,再传入pd.DataFrame即可:
import pandas as pd data = [ [('A',1),('B',2)], [('A',2),('B',3)], [('A',3),('B',4)], ] df = pd.DataFrame(dict(sublist) for sublist in data) print(df)
运行后输出:
A B 0 1 2 1 2 3 2 3 4
方法2:提取列名与值构造
如果需要更灵活地控制列顺序,可以先提取列名和每行对应的值,再构造DataFrame:
import pandas as pd data = [ [('A',1),('B',2)], [('A',2),('B',3)], [('A',3),('B',4)], ] # 提取并排序列名 columns = list({key for sublist in data for key, _ in sublist}) columns.sort() # 提取每行的数值 row_values = [[val for _, val in sublist] for sublist in data] df = pd.DataFrame(row_values, columns=columns) print(df)
输出结果和方法1一致。
内容的提问来源于stack exchange,提问作者lucky1928
相关产品推荐
相关产品推荐

