在用pandas进行数据重排时,经常用到stack和unstack两个函数。stack的意思是堆叠,堆积,unstack即“不要堆叠”。
stack()和unstack()
stack:将数据的列“旋转”为行。
unstack:将数据的行“旋转”为列。
#对DataFrame进行unstack操作时,作为旋转轴的级别将会成为结果中最低级别
df=DataFrame({'left':result,'right':5+result},columns=pd.Index(['left','right'],name='side'))
print(df.unstack('state').stack('side'))#行变列,列变行
# 将数据的列“旋转”为行
print(data.stack())
#unstack 将数据的行“旋转”为列
print(data.unstack())
#数据重排
print(data.stack().unstack())
#数据的转置
print(data.stack().unstack(0))
#还可以根据名称进行操作
print(data.stack().unstack('state'))
print(data.T)