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

如何将(20,500000)的DataFrame转换为按模型顺序堆叠的单列DataFrame

问题

我有一个20行、500000列的DataFrame,每行对应一个包含500000个数值的唯一模型(共20个模型)。需要将其转换为仅含一列values的DataFrame,且行按模型顺序堆叠——前500000行对应第一个模型的所有数值,后续依次对应其他模型。尝试过pd.melt()但无法满足按模型顺序排列的需求。

解决方案

使用df.stack()可以实现需求,该方法会按原DataFrame的行顺序,依次将每一行的所有列值堆叠起来,完全匹配模型顺序的要求。

代码示例
import pandas as pd
import numpy as np

# 创建示例DataFrame(模拟20个模型,每个模型500000个数值)
my_df = pd.DataFrame(np.random.randint(0,100,size=(20, 500000)))

# 原尝试的pd.melt()不符合需求,已注释
# reshaped_my_df = pd.melt(my_df)

# 执行堆叠操作并重置索引
df_stacked = my_df.stack().reset_index()

# 进一步处理得到仅含'values'列的最终DataFrame
df_final = df_stacked.drop(['level_0', 'level_1'], axis=1).rename(columns={0: 'values'})

内容的提问来源于stack exchange,提问作者jam_pyt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:35:39