我在 Pandas 数据框中正确转置和堆叠多级列时遇到问题。这是我的初始数据集:1990 1991 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4A | B A | B A | B A | B A | B A | B A | B A | B我想将此多级列(3 级)转换为单列(基本上将其展平)。这是我的预期输出: Year Quarter A B 1990 Q1 a1 b1 Q2 a2 b2 .... ... ... ... 1991 ..................下面是我尝试过但失败的代码(输出不符合预期)。df.transpose().stack(level=0).to_frame().reset_index()这扩大Year,Quarter如预期,但未能正确对齐的其余两列A和B。我是否遗漏了任何堆叠、拆垛或旋转?
1 回答
弑天下
TA贡献1818条经验 获得超8个赞
您可以检查stack两个级别
df.stack([0,1]).reset_index()
数据输入
df=pd.DataFrame(columns=idx,index=[1]).fillna(0)
df.stack([0,1])
a b
1 1900 q1 0 0
q2 0 0
q3 0 0
q4 0 0
1991 q1 0 0
q2 0 0
q3 0 0
q4 0 0
添加回答
举报
0/150
提交
取消