如何从Pandas DataFrame生成含列名与值的嵌套列表?
Pandas生成指定嵌套列表的实现方法
首先构造你给出的示例DataFrame:
import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4], 'b': [5, 6, 7, 8], 'c': [9, 10, 11, 12], 'd': [13, 14, 15, 16] })
方法一:直接生成目标列表
针对列a和b,用列表推导式直接生成需要的嵌套列表:
# 生成对应列a的list1 list1 = [['a', val] for val in df['a']] # 生成对应列b的list2 list2 = [['b', val] for val in df['b']]
方法二:通用函数复用
如果需要处理多列,封装成通用函数可避免重复代码:
def col_to_nested_list(df, col_name): """将指定列转换为[列名, 元素值]格式的嵌套列表""" return [[col_name, val] for val in df[col_name]] # 调用函数生成目标列表 list1 = col_to_nested_list(df, 'a') list2 = col_to_nested_list(df, 'b')
执行后,list1和list2的结果完全符合需求:
- list1:
[['a', 1], ['a', 2], ['a', 3], ['a', 4]] - list2:
[['b', 5], ['b', 6], ['b', 7], ['b', 8]]
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

