刚刚接近熊猫中的分层列。原始数据框 (df) 有 27 列,如下所示(Ticker 是索引):
Report Date Shares Gross Profit ...
Ticker
AAPL 2010-07-31 347000000.0 543000000.0 ...
AAPL 2010-10-31 344000000.0 548000000.0 ...
AAPL 2011-01-31 347000000.0 556000000.0 ...
AAPL 2011-04-30 347000000.0 580000000.0 ...
AAPL 2011-07-31 348000000.0 591000000.0 ...
我想修改列结构,使第一级是Report Date,第二级是列Shares和Gross Profit。我试图为一个股票代码(AAPL)创建一个具有这种结构的新数据框,这是我使用的代码:
col = pd.MultiIndex.from_product([df['Report Date'], df[['Shares', 'Gross Profit']]])
df1 = pd.DataFrame(df.loc['AAPL'], columns=col)
它似乎显然有效,但只有 NaN:
Report Date 2010-07-31 2010-10-31 \
Shares Gross Profit Shares Gross Profit
Ticker
AAPL NaN NaN NaN NaN
AAPL NaN NaN NaN NaN
AAPL NaN NaN NaN NaN
AAPL NaN NaN NaN NaN
此外,形状爆炸为(78, 112668)。任何人都可以发现错误吗?我猜它在 MultiIndex.from_product 但不明白在哪里。