将熊猫数据帧从宽到长

问题描述 投票:1回答:1

我已经检查了pandas.wide_to_longpandas.melt和各种SO帖子,但在下面找不到针对该问题的解决方案。

我有这个数据框:

enter image description here

您能告诉我如何将其更改为这种格式吗?预先感谢。

enter image description here

python pandas dataframe
1个回答
1
投票

让我们尝试以下方法:

import pandas as pd
import numpy as np

df = pd.DataFrame({'Var1':[*'xyz'],
                  'Var2':['a']*3,
                  'Var1a':[1,5,9],
                  'Var2a':[2,6,10],
                  'Var3':[3,7,11],
                  'Var4':[4,8,12]})

df_out = df.set_index(['Var2', 'Var1']).stack().unstack(1).droplevel(1)
df_out = df_out.rename_axis(index=None, columns=None)
df_out 

输出:

   x  y   z
a  1  5   9
a  2  6  10
a  3  7  11
a  4  8  12
© www.soinside.com 2019 - 2024. All rights reserved.