Dataframe set_index生成重复的索引值,而不是进行分层分组

2024-03-28 13:43:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个像这样的数据帧(索引未显示)

Time   Letter   Type    Value
    0    A       x       10
    0    B       y       20
    1    A       y       30
    1    B       x       40
    3    C       x       50

我想生成一个如下所示的数据帧:

^{pr2}$

为此,我决定首先创建一个包含多个索引、时间和字母的表,然后取消最后一个索引类型的堆栈。在

假设我的原始数据帧被命名为my_table:

我的_table.reset_索引()。设置_index(['Time','Letter']),而不是将其分组,以便在每个Time index,Letter下同时有X和Y类型,它们似乎已被排序(添加多个条目来证明一点):

Time(i) Letter(i)   Type    Value
    0    A       x       10
         D       x       25
         H       x       15
         G       x       33
    1    B       x       40
         G       x       10
    3    C       x       50
    0    B       y       20
         H       y       10
    1    A       y       30

为什么会这样?我期待这样的结果:

Time   Letter   Type    Value
    0    A       x       10
                 y       30
         B       y       20
         H       x       15
                 y       10
         D       x       25
         G       x       33
    1    B       x       40
         G       x       10
    3    C       x       50

同样的行为发生在我将类型设置为索引之一时,它只是变为粗体作为索引。在

如何使用时间和字母成功地对列进行分组,以使X和Y与这些列匹配,从而可以成功地使用unstack?在


Tags: 数据类型原始数据indextimevalue堆栈my