You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas DataFrame基于现有列名新建列并生成行列值组合列表

Pandas DataFrame行列转平铺列表实现方法

方法1:使用stack()(推荐,和示例输出顺序完全一致)

直接调用Pandas内置的stack()方法即可一行实现,默认保持行优先的遍历顺序,和你要求的输出格式完全匹配:

import pandas as pd

# 示例DataFrame构建
index_col = ["store1", "store2", "store3"]
cols = ["January", "February", "March"]
values = [[2,3,4],[5,6,7],[8,9,10]]
df = pd.DataFrame(values, index=index_col, columns=cols)

# 核心转换代码
result = df.stack().reset_index().values.tolist()

打印result即可得到你需要的输出:

[['store1', 'January', 2],
 ['store1', 'February', 3],
 ['store1', 'March', 4],
 ['store2', 'January', 5],
 ['store2', 'February', 6],
 ['store2', 'March', 7],
 ['store3', 'January', 8],
 ['store3', 'February', 9],
 ['store3', 'March', 10]]

方法2:使用melt()(适合自定义列名场景)

如果需要自定义转换后的列名做后续处理,可以用melt方法,额外加排序即可匹配示例顺序:

# 转换代码
result = df.reset_index(names='store')\
           .melt(id_vars='store', var_name='month', value_name='sales')\
           .sort_values('store')\
           .values.tolist()

内容的提问来源于stack exchange,提问作者Håkon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:06:07