数据框透视而不对列名称进行排序?

ine*_*elp 2 python dataframe pandas

原始数据:-

date   variable    value
2017    A             1
2017    C             1
2017    B             2
2018    A             1
2018    C             1
2018    B             2
Run Code Online (Sandbox Code Playgroud)

我的枢轴结果:-

date   A        B        C
2017   1        2        1
2018   1        2        1
Run Code Online (Sandbox Code Playgroud)

预期输出:-

date   A     C     B
2017   1     1     2
2018   1     1     2
Run Code Online (Sandbox Code Playgroud)

ank*_*_91 6

您可以通过以下方式实现此目的pd.Categorical

df.variable=pd.Categorical(df.variable,categories=df.variable.unique(),ordered=True)
df.pivot_table(index='date',columns='variable',values='value')
Run Code Online (Sandbox Code Playgroud)
variable  A  C  B
date             
2017      1  1  2
2018      1  1  2
Run Code Online (Sandbox Code Playgroud)

这将顺序设置df.variable.unique()[A, C, B]