Python 3.x 如何使用pandas取消列组分组并将它们转换为行?

Python 3.x 如何使用pandas取消列组分组并将它们转换为行?,python-3.x,pandas,dataframe,pandas-groupby,Python 3.x,Pandas,Dataframe,Pandas Groupby,我下载了多支股票的股票数据,如下表所示。我使用了以下代码 i = ['NTPC.NS', 'GAIL.NS'] stock = yf.download(tickers=i, start='2021-01-11', end='2021-03-10', interval = '5m', group_by = 'tickers') 输出数据帧如下所示 但我希望输出是这样的 按第一级使用,然后重命名索引名称,并通过以下方式将多索引的最后一级转换为列: ValueError:名称的长度必须与多索引中的

我下载了多支股票的股票数据,如下表所示。我使用了以下代码

i = ['NTPC.NS', 'GAIL.NS']
stock = yf.download(tickers=i, start='2021-01-11', end='2021-03-10', interval = '5m', group_by = 'tickers')
输出数据帧如下所示

但我希望输出是这样的

按第一级使用,然后重命名索引名称,并通过以下方式将多索引的最后一级转换为列:


ValueError:名称的长度必须与多索引中的级别数匹配当我使用code@AnirudhMurali-你是对的,所以答案被编辑了。非常感谢。工作就像一个符咒:)
df = stock.stack(level=0).rename_axis(['Datetime','stockname']).reset_index(level=-1)
#if necessary change order of columns
df = df[df.columns.tolist()[1:] + df.columns.tolist()[:1]]